envoyer un mail en local (wampserver)

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 : envoyer un mail en local (wampserver)

Re: envoyer un mail en local (wampserver)

par laurents » 29 déc. 2016, 15:59

Je veux bien que tu regardes car effectivement le message d'erreur est un peu short, et en attendant, j'essaie de renvoyer vers le logiciel de messagerie, mais même ça, ça veut pas !
$url='mailto:'.$adrmail.'?subject='.$obj.'&body='.$message;
	?>
<script>	
var url=\"</script><?php echo $url; ?>  <script>\"

	 document.location.href=url; 
	 
	 </script>
Je fais la redirection en javascript car en PHP il veut pas que je remodifie le header et je tentais d'échapper les " mais même comme ça, il en veut pas...(les balises <script> et </script> ne sont pas interprétées et du coup le echo $url; provoque un affichage...

Re: envoyer un mail en local (wampserver)

par moogli » 29 déc. 2016, 13:13

j'ai beau être feignant installer phpmailer c'est l'histoire de 5min (aller 10 si les dl prennent du temps ;) )

pour le reste je sais pas trop
en testant j'ai
2016-12-29 11:02:43 Extension missing: openssl Message could not be sent.
Mailer Error: Extension missing: openssl
avec l'extension j'ai ce message d'erreur un peu légé
SMTP ERROR: Failed to connect to server: Aucune connexion n'a pu être établie car l'ordinateur cible l'a expressément refusée. (10061) 2016-12-29 11:07:53 SMTP connect() failed.

si j'ai un peu plus de temps je regarderais mais la de prime abord je ne vois pas.
Les infos de connexion ok c'est sur : ssl +port 465 sur smtp.orange.fr avec les mêmes infos que pour le compte imap / pop3

@+

Re: envoyer un mail en local (wampserver)

par laurents » 28 déc. 2016, 23:12

Bonsoir,

d'abord, j'ai oublié de te dire merci pour le long post que tu as fait hier à 10h08.

Comme je suis feignant (qualité n°1 d'un informaticien :wink: ), je n'ai pas une grosse motivation pour tenter l'aventure de mailcatcher et de plus, je suis quasi sûr que ça doit être possible avec PHPMAILER et le code est déjà fait. As-tu une idée de ce qui bloque ? (J'ai pas relancé sur le forum Orange (et les "up" sont mal vus), mais pas de réponse).

Re: envoyer un mail en local (wampserver)

par moogli » 28 déc. 2016, 09:51

pour être franc je me souvient même pas de ce sujet.
c'est juste quelque chose qui revient de temps en temps.

en règle général, en dev, on utilise pas de 'vrai' serveur smtp, simplement pour éviter d'être emmerdé avec la configuration.
ensuite tu passe en production, la tu as un serveur smtp accessible fournit par l’hébergeur et lui accepte sans problème que php envoie des mail :)

autre avantage de ce que j'ai mis avant c'est que tu peux, avec certain langage comme java, avoir des tests unitaires qui utilise un serveur smpt en mémoire et donc la configuration non fixe c'est plus que pratique ;)

bon courage

@+

Re: envoyer un mail en local (wampserver)

par laurentsch » 27 déc. 2016, 18:28

T'aurais pas plus compliqué ? Car là, trop simple ! :wink:
Quand, je t'ai lu, j'ai fait une recherche sur DVP et j'ai trouvé http://www.developpez.net/forums/d14717 ... ail-gmail/. Quelle coïncidence : le même pseudo et le même sujet !
Si y a pas plus simple, je laisse tomber. (J'ai quand même posté sur un forum dédié Orange...)

Re: envoyer un mail en local (wampserver)

par moogli » 27 déc. 2016, 12:08

salut,

pour orange : ils peuvent simplement en pas autoriser les connexions "louches" en clair des connexion depuis des cgi afin d'éviter que leurs serveurs smtp ne soit utilisés pour spammer la planète ;) (par exemple ils sont p'tet d'autres raisons)
il y a un fichier error.log dans le répertoire de Fake Sendmail tu peux le consulter pourr avoir des infos.
tu peux avoir plus d'info en activant le debug dans le fichier de configuration : debug_logfile=debug.log (enlève le ; en début de ligne). tu aura sun fichier debug.log aà éplucher ;)

ensuite des outils comme fiddler peuvent te permettre de suivre les connexion reseau de ton poste et voir les requêtes qui sont effectuées et peux être trouver une erreur.

Perso, pour le dev je conseil plutôt mail catcher tu n'as pas besoin d'un "vrai" serveur smtp

pour l'installation de ruby faut voir s'il y a des erreurs, suivre ce qu'il y a sur guide d'installation etc.
tu auras besoin du devkit en plus de ruby : https://rubyinstaller.org/add-ons/devkit/

perso j'ai pris
http://rubyinstaller.org/downloads/ : version 2.3.3 x64 => pas soucis à l'installation, un gem install mailcatcher indique qu'il faut le devkit

ensuite le devkit https://dl.bintray.com/oneclick/rubyins ... 32-sfx.exe
instruction d'installation : https://github.com/oneclick/rubyinstall ... opment-Kit
il y a deux lignes a suivre c'est simple, au pire tu devras éditer le config.yml créé à la premier instruction si la seconde est en erreur (c'est expliqué dans le message d'erreur et dans le fichier ;) )
une fois que c'est bon : gem install mailcatcher (ça peux prendre un peu de temps il dl les sources et compile le bazar).

ensuite, dans une console toujours : mailcatcher
ensuite cela affiche
λ mailcatcher
Starting MailCatcher
==> smtp://127.0.0.1:1025
==> http://127.0.0.1:1080
ensuite dans ton code tu utilise phpmailer (parce que c'est plus mieux :) ) ou tu configure php pour l'utiliser. tu met en configuration la connexion au serveur smtp
pour le dev tu utilise 127.0.0.1 et le port 1025
dans ton navigateur tu met 127.0.0.1:1080 et tu a un beau webmail pour voir tout ce que le serveur smtp reçois ;)


sinon sur graphikart il y au n tuto sur un équivalent à mailcatcher mais basé sur nodejs https://www.grafikart.fr/tutoriels/dive ... emails-595


@+

Re: envoyer un mail en local (wampserver)

par laurents » 26 déc. 2016, 20:14

Même si j'ai vu ta réponse rapidement, 36 trucs à faire et le temps passe très vite... :(

Donc déjà pas d'erreur PHP ni APACHE.
est ce que le smtp d'orange accepte ce type de comportement ?
Que veux-tu dire ?

Enfin, pas vu de tuto sur mailcatcher sur le site de grafikart, mais Google m'a proposé : http://epicadesign.fr/mailcatcher-envoy ... -en-local/. Par contre, je bloque dès le début : il propose d'installer Ruby ; je télécharge ruby-2.0.0-p648-i386-mingw32 mais ensuite je double-clique sur ruby.exe pour lancer l'install ; ça ouvre une fenêtre d'invite de commande, mais même en attendant plusieurs minutes, il ne se passe rien. Comment aller plus loin ?

Re: envoyer un mail en local (wampserver)

par moogli » 26 déc. 2016, 11:16

salut,

est ce que tu n'aurais pas une erreur ? (error.log, log de php, log de httpd ?)
par exemple en testant rapidement j'ai une erreur dans le log
16/12/26 11:51:53 : Socket Error # 10061<EOL>Connection refused.
peut être du à la conf réseau du taff.

est ce que le smtp d'orange accepte ce type de comportement ?

si c'est juste pour tester le fonctionnement de ton script tu peux utiliser mailcatcher (de mémoire y a un tuto sur grafikart).

@+

envoyer un mail en local (wampserver)

par laurents » 25 déc. 2016, 23:54

Bonsoir,

j'ai essayé plusieurs pistes pour envoyer un mail en local, mais échec. :(

1- avec phpmailer :
require "../../../_lib/class.phpmailer.php";
        $mail = new PHPmailer();
	$monadresse='---';
	$mail->IsSMTP();
	$mail->IsHTML(true);
	$mail->Host='smtp.orange.fr';
	$mail->Port='465';
	$mail->SMTPSecure = 'ssl';
	//$mail->Encoding = "base64";
	$mail->Username    = "---"; //idem que $monadresse
	$mail->Password    = "---";
	$mail->SMTPAuth='true';
        $mail->From=$monadresse;
        $mail->AddAddress($adrmail);
        $mail->AddReplyTo($monadresse);     
        $mail->Subject='Exemple trouvé sur DVP';
        $mail->Body='Voici un exemple d\'e-mail au format Texte';
		$mail->SMTPDebug = 2;
        if(!$mail->Send()){ //Teste le return code de la fonction
          echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
        }
        else{     
          echo 'Mail envoyé avec succès';
        }
		$mail->SmtpClose();
        unset($mail);
2- avec le tuto de grafikart : https://www.grafikart.fr/blog/mail-local-wamp
$to =$_POST['mail'];
$message=$_POST['msg'];
$subject=$_POST['subj'];
 
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($to, $subject, $message, $headers);
et sendmail.ini :
; configuration for fake sendmail

[sendmail]
smtp_server=smtp.orange.fr

; smtp port (normally 25)

smtp_port=465

; SMTPS (SSL) support
;   auto = use SSL for port 465, otherwise try to use TLS
;   ssl  = alway use SSL
;   tls  = always use TLS
;   none = never try to use SSL

smtp_ssl=auto

error_logfile=error.log

auth_username=xxx
auth_password=xxx

pop3_server=
pop3_username=
pop3_password=



force_sender=xxx     ;idem auth_username

force_recipient=

hostname=
Comment faudrait-il faire ?