Code newletters

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Code newletters

Re: Code newletters

par arnaud69 » 19 sept. 2014, 08:17

surement un problème d'entête récurent.

une librairie comme phpmailer devrait t'aider à résoudre ce problème sans trop de complication ;)


@+
Bonjour Moogli,
Je me permets, si tu me le permets, de m'élever contre cela.
phpmailer n'est qu'une librairie, un framework ou ce que tu veux, qui permet d'envoyer des mails de façon conviviale et bien formatés.
Ceci, et je le vois tous les jours via phpmynewsletter, faire arriver les mails dans une boite de réception plutôt qu'en spam n'est pas si évident ! :non: :non:

Il faut être propre au niveau de l'ip (pas avoir récupéré une ip qui a fait du spam précédemment, là, c'est mort d'avance et peu de chance de se remettre sauf à changer de serveur).
Il faut mettre en place les SPF, les DKIM, rédiger ses mails correctement et mesurer le juste poids entre texte et images, rôder son mailing, et monter en puissance tranquillement et monter en puissance progressivement... Bref, un art, un métier...

Bon courage.

Re: Code newletters

par moogli » 18 sept. 2014, 22:51

surement un problème d'entête récurent.

une librairie comme phpmailer devrait t'aider à résoudre ce problème sans trop de complication ;)


@+

Re: Code newletters

par gametime » 18 sept. 2014, 22:44

Dernier petit soucis :roll:

Les mails que je reçois vont directement dans les spams ... pourquoi?

Re: Code newletters

par moogli » 18 sept. 2014, 22:04

C'est une critique gratuite, profites en
effectivement autant laisser faire php qui fait la chose plutôt que d'ajouter un tas de merdier javascript histoire de faire "beau" et in ^^


@+

Re: Code newletters

par arnaud69 » 18 sept. 2014, 21:52

Salut,

je viens de regarder ton site.
En fait, ce header est pas top du tout ! Il fait assez tâche.

Déjà, dans l'en-tête de ta page web, tu vas changer <html lang="en"> par <html lang="fr"> et vu que tu inclus du jquery, je ferais plutôt une inscription via ajax comme suit :
1/ test que c'est bien un email en javascript
2/ si ok, tu envoies l'email en ajax
3/ tu testes dans le script cible que tu as bien un nouveau mail, que c'est bien un mail
4/ tu envoies par retour en json un ok ou false.
5/ si ok, tu effaces le formulaire (methode hide() de jquery) et mets un beau message "on vous écrit à l'ouverture" ou "mail déjà inscrit" ou "erreur"... etc.

C'est une critique gratuite, profites en :mrgreen: :mrgreen: :lol:

Re: Code newletters

par gametime » 18 sept. 2014, 21:43

Merci encore =D>

Re: Code newletters

par Nestecha » 18 sept. 2014, 21:34

<p align="center">Vous allez bientot etre redirige vers la page d'acceuil<br>
    Si vous n'etes pas redirige au bout de 5 secondes cliquez <a href="http://www.benpi.free.fr">ici
    </a></p>
<script>setTimeout(function() { 
window.location = "index.html"
}, 3000);</script>
Voilà !

Re: Code newletters

par moogli » 18 sept. 2014, 21:32

@gametime : oui avec un timer (ce qui est fait sur ce forum) setTimeOut

@Nestecha : c'est une bonne idée d'utilisée header mais à bonne escient :)
par exemple si tu veux afficher un message c'est pas possible.

si tu veux envoyer des infos comme le type mime, le charset ou une redirection alors oui c'est utile mais avant tout envois.

La redirection JS est liée au navigateur donc pas forcément faite (oui je sais il y a peux de gens qui désactive le js mais on ne sais jamais) et suivant l'utilisation certain navigateur ne réagisse pas pareil (par exemple dans l'event unload de la page).


@+

Re: Code newletters

par gametime » 18 sept. 2014, 21:18

Super , merci beaucoup :wink:

c'est ultra rapide , du coup on a même pas le temps de voir qu'il a été envoyé :) , il y a possibilité de le laisser 4 sec à l'écran par exemple ?

Re: Code newletters

par Nestecha » 18 sept. 2014, 21:16

Bon, histoire d'en finir une bonne fois pour toute ! Moogli a raison !

Tu peux faire ça en javascript !
<p align="center">Vous allez bientot etre redirige vers la page d'acceuil<br>
    Si vous n'etes pas redirige au bout de 5 secondes cliquez <a href="http://www.benpi.free.fr">ici
    </a></p>
<script>window.location = "index.html";</script>
Là au moins, t'es sûr d'être redirigé !

Moogli, comment on fait du coup quand on veut quand même utiliser header() ? Ou est-ce que c'est juste stupide comme idée ?

Re: Code newletters

par moogli » 18 sept. 2014, 21:08

salut,
Mets plutôt cette ligne : header('Location: index.html');

Après ton echo "Votre mail a été envoyé", dans le if, comme ça :
if (mail($destinataire,$subject,$body,$headers)) {
    echo "Votre mail a ete envoye<br>";
    header('Location: index.html');
} else {
    echo "Une erreur s'est produite";
}
non c'est justement ce qu'indique le message d'erreur
Warning: Cannot modify header information - headers already sent by (output started at /xxx/envoi.php:20) in /xxx/envoi.php on line 26
la documentation de la fonction header indique bien qu'il ne faut aucun affichage avant sont utilisation.

c'est d'ailleurs logique de ne envoyer quelque chose au navigateur tant que l'entête n'est pas envoyée (on envoie pas une lettre sans mettre la lettre dans l'enveloppe ;) ).

@+

Re: Code newletters

par gametime » 18 sept. 2014, 21:07

nouvelle erreur :
Warning: Cannot modify header information - headers already sent by (output started at /mnt/153/sda/7/0/benpi/envoi.php:20) in /mnt/153/sda/7/0/benpi/envoi.php on line 21

Re: Code newletters

par Nestecha » 18 sept. 2014, 21:00

Mets plutôt cette ligne : header('Location: index.html');

Après ton echo "Votre mail a été envoyé", dans le if, comme ça :
if (mail($destinataire,$subject,$body,$headers)) {
    echo "Votre mail a ete envoye<br>";
    header('Location: index.html');
} else {
    echo "Une erreur s'est produite";
}

Re: Code newletters

par gametime » 18 sept. 2014, 20:48

Merci :D

J'ai ajouté le header mais j'ai cette erreur maintenant :
Warning: Cannot modify header information - headers already sent by (output started at /mnt/153/sda/7/0/benpi/envoi.php:20) in /mnt/153/sda/7/0/benpi/envoi.php on line 26

Re: Code newletters

par Nestecha » 18 sept. 2014, 19:34

Ajoute :
<?php
header('Location: index.html');
?>
Après ton dernière paragraphe.
Et enlève ta balise </p> après ton echo "Une erreur s'est produite", elle ne ferme rien ;)