Page 1 sur 1
configuration de php.ini pour envois de mai...
Posté : 11 avr. 2006, 11:39
par skystef
J'ai dans un de mes scripts php une fonction qui doit envoyer un mail en se connectant au serveur smtp de ma boite. Mais le serveur requiert une authentification. Que rajouter dans php.ini pour corriger ce problème?
Merci d'avance.
Posté : 12 avr. 2006, 00:53
par Ultiny
A tout hazard essay :
login:
[email protected]
sur la ligne SMTP du php.ini
Sinon utilise les fonctions IMAP qui sont très complètes.
Posté : 12 avr. 2006, 07:57
par Ripat
Si le serveur SMTP demande une authentification, tu n'as pas le choix: tu dois passer par des classes spécialisées ou construire toi-même ton protocole SMTP par socket. Pour les librairies, regarde du côté de:
@Ultiny> IMAP est un protocole pour aller chercher les mails situés sur un serveur, pas les envoyer

Posté : 12 avr. 2006, 11:01
par skystef
Si le serveur SMTP demande une authentification, tu n'as pas le choix: tu dois passer par des classes spécialisées ou construire toi-même ton protocole SMTP par socket. Pour les librairies, regarde du côté de:
@Ultiny> IMAP est un protocole pour aller chercher les mails situés sur un serveur, pas les envoyer

Arf, et moi qui suit un grand débutant, c'est pas gagné...
Posté : 12 avr. 2006, 11:21
par skystef
Bon j'ai mis les deux class (class.smtp.php et class.phpmaile.php) dans la racine du site, j'ai ajouté le code comme dans le readme
Code : Tout sélectionner
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "smtp1.example.com;smtp2.example.com"; // specify main and backup server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "jswan"; // SMTP username
$mail->Password = "secret"; // SMTP password
$mail->From = "[email protected]";
$mail->FromName = "Mailer";
$mail->AddAddress("[email protected]", "Josh Adams");
$mail->AddAddress("[email protected]"); // name is optional
$mail->AddReplyTo("[email protected]", "Information");
$mail->WordWrap = 50; // set word wrap to 50 characters
$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
$mail->IsHTML(true); // set email format to HTML
$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";
if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
echo "Message has been sent";
?>
en modifiant certaines choses bien sur...
et j'obtiens ça :
Warning: fputs(): supplied argument is not a valid stream resource in c:\program files\easyphp1-8\www\v1\class.smtp.php on line 146
Warning: fgets(): supplied argument is not a valid stream resource in c:\program files\easyphp1-8\www\v1\class.smtp.php on line 1024
Message could not be sent.
Mailer Error: Language string failed to load:
[email protected]
Quelqu'un peut-il m'aider?
Posté : 12 avr. 2006, 12:32
par Ripat
Je n'ai pas phpmailer sous le coude mais j'imagine que si tu vas voir le code en amont de "class.smtp.php on line 146" tu trouveras un fsockopen ou une autre fonction d'ouverture de flux.
Cela devrait te mettre sur la voie...
Posté : 12 avr. 2006, 14:13
par skystef
J'ai changé le login et mot de passe d'authentification mais maintenant j'ai cette erreur (que j'avais avant aussi) :
Message could not be sent.
Mailer Error: Language string failed to load:
[email protected]
l'adresse de l'envoyeur est issu d'un formulaire...
Posté : 12 avr. 2006, 14:29
par skystef
en fait, l'erreur précédente venait du fait que phpmailer ne trouvait pas le fichiers de langue...
là j'ai la bonne erreur :
Mailer Error: SMTP Error: The following recipients failed:
[email protected]
Posté : 13 avr. 2006, 09:06
par skystef
Up,
J'ai toujours le même problème.... je suis incapable de comprendre pourquoi j'ai ça :
Warning: fputs(): supplied argument is not a valid stream resource in c:\program files\easyphp1-8\www\v1\class.smtp.php on line 146
Warning: fgets(): supplied argument is not a valid stream resource in c:\program files\easyphp1-8\www\v1\class.smtp.php on line 1024
Message could not be sent.
....
PS: ça a fonctionné une fois en plus, mais je sais ce que j'avais fait

Posté : 13 avr. 2006, 20:13
par Ultiny
@Ultiny> IMAP est un protocole pour aller chercher les mails situés sur un serveur, pas les envoyer

Oui pardon, comme j'avais vu qu'il marchait avec POP aussi je me suis dit pourquoi pas les envoyer aussi :p
Posté : 10 mai 2006, 10:30
par _julien_
Bonjours,
moi aussi, j'ai l'erreur Mailer Error: Language string failed to load:
[email protected]
phpmailer ne trouve pas le fichiers de langue... Tu as résolu ceci comment ?
Posté : 20 mai 2006, 13:54
par geronimal
Je suis néophyte en PHP, mais d'après ce que j'ai compris, c'est le message d'erreur qui n'existe pas, dans n'importe quelle fichier Lang.
C'est quue le type d'erreur est inconnu de la bibliothèque Phpmailer.
J'ai la même erreur. Blocage par le firewall, le routeur ou le Provider ?
Posté : 20 juin 2006, 13:41
par Roba
j'ai la même erreur et j'aimerai beaucoup savoir comment la corriger... merci pour l'info messieurs