Page 1 sur 1

Problème avec envoie d'email

Posté : 17 janv. 2012, 16:19
par Fre3z69
Bonjours à tous

j'ai actuellement un soucis avec l'envoie d'email

En effet il me sort le message 505 et me dit qu'il faut être authentifié

J'ai alors chercher un moyen pour s'authentifier, j'ai trouver ceci, qui ma permis de me renseigner sur PHPmailer..

Le hic c'est que je n'arrive toujours pas à envoyer de email.

Je souhaite utiliser un script qui envoie le code de confirmation après email, a l'utilisateur récemment inscrit

J'ai donc essayer d'adapter le code vu sur le topic, mais en vain.

voici ce que j'ai fait
include("class.phpmailer.php");
include("class.smtp.php"); // note, this is optional - gets called from main class if not already loaded
date_default_timezone_set("Europe/Zurich");
 
$mail             = new PHPMailer();

$body             = "<html><body>
					Bonjours et bienvenu $pseudo, sur ".SITE_NAME.".
					<br /><br />
					Votre inscription sur ".SITE_NAME." est réussit
					<br /><br />
					Voici les informations concernant votre compte:
					<br /><br />
					----------------------------<br />
					Nom d'utilisateur: $pseudo<br />
					Mot de passe: ********<br />
					<a href='".SITE_NAME."/activemail'>$users_code</a>
					Courriel: $email<br />
					----------------------------<br />
					<br /><br />
					Vous ne pouvez utiliser votre compte d&eacute;s à présent
					<br /><br />Merci de vous être enregistré.
					<br /><br />
					Cordialement, l'administrateur de ".SITE_NAME.".
					<br /><br />
					</body></html>
					";
 
$mail->IsSMTP();
$mail->AddReplyTo($email, $pseudo);
$mail->SetFrom('[email protected]', 'FantasyCraft.fr');
$mail->AddReplyTo($email, $pseudo);
$address = "[email protected]";
$mail->AddAddress($address, "FantasyCraft.fr");
$mail->Subject    = "Validation de votre adresse email";
$mail->AltBody    = "contactez [email protected] si vous voyez ce message"; // optional, comment out and test

$mail->MsgHTML($body);

if(!$mail->Send()) {
	echo "Mailer Error: " . $mail->ErrorInfo;
}
else {
			$query=$cnx->prepare('INSERT INTO t_users (users_name, users_pass, users_mail, users_web, users_localisation, users_inscription, users_verif, users_last_visit, users_code)
			VALUES (:pseudo, :password, :email, :website, :localisation, :temps, :temps, :users_verif, :users_code)');
			$query->bindValue(':pseudo', $pseudo, PDO::PARAM_STR);
			$query->bindValue(':password', $password, PDO::PARAM_INT);
			$query->bindValue(':email', $email, PDO::PARAM_STR);
			//$query->bindValue(':msn', $msn, PDO::PARAM_STR);
			$query->bindValue(':website', $website, PDO::PARAM_STR);
			$query->bindValue(':localisation', $localisation, PDO::PARAM_STR);
			$query->bindValue(':temps', $temps, PDO::PARAM_INT);
			$query->bindValue(':users_verif', $users_verif, PDO::PARAM_INT);
			$query->bindValue(':users_code', $users_code, PDO::PARAM_INT);
			$query->execute();

		//Et on d&eacute;finit les variables de sessions
			$_SESSION['pseudo'] = $pseudo;
			$_SESSION['id'] = $cnx->lastInsertId(); ;
			$_SESSION['level'] = 2;
			$query->CloseCursor();
		
			echo'<p><span class="reussi">Vous &ecirc;tes maintenant inscrit sur '.SITE_NAME.'<br/>Un email vous a &eacute;t&eacute; envoy&eacute; avec vos coordon&eacute;es de connexion.</span></p>
			<script type="text/javascript">
			<!--
			setTimeout(function()
			{
				window.location.href = "./index.php";
			},6000);
			// -->
			</script>';  
}	
J'ai un serveur dédié dans le quel j'ai installer wampserver et je l'est paramétrer

Voici la configuration de mon php.ini pour la fonction EMAIL

Code : Tout sélectionner

[mail function] ; For Win32 only. ; http://php.net/smtp SMTP = smtpauth.online.net ; http://php.net/smtp-port smtp_port = 587 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = [email protected]
Pourriez vous me dire svp, comment arriver à envoyer des email sans me casser à chaque fois la tête svp??

Je sait que php.ini est correctement configuré, du fait que j'envoie sans soucis des email avec phpbb, mais je n'arrive pas avec le même smtp, à en envoyer via la fonction mail().

Merci de votre aide, en espérant avoir était assez précis.

Cordialement

Re: Problème avec envoie d'email

Posté : 17 janv. 2012, 16:37
par Mazarini
J'ai vu ca dans la doc :
; if your smtp server requires authentication, modify the following two lines

;auth_username=
;auth_password=

Re: Problème avec envoie d'email

Posté : 17 janv. 2012, 17:02
par moogli
salut,

le second include est facultatif et tu devrais avoir un message d'erreur (vu qu'il doit déjà être fait dans le le 1er include).

dans ton code il faudrait indiquer le serveur smtp ($mail->Host), et si besoin l'utilisateur et le mot de passe
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 26; // set the SMTP port
$mail->Host = "mail.yourhost.com"; // SMTP server
$mail->Username = "[email protected]"; // SMTP account username
$mail->Password = "your password"; // SMTP account password

y a un peu de doc dans l'archive (même si un peu c'est presque optimiste la ;) )

@+

Re: Problème avec envoie d'email

Posté : 17 janv. 2012, 22:41
par Fre3z69
Merci, est ce que le reste de l'email et comme la fonction mail()?

Merci de votre aide

Cordialement

Re: Problème avec envoie d'email

Posté : 18 janv. 2012, 00:48
par Fre3z69
J'ai un soucis maintenant

il ne prend pas en compte un adresse

$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 587; // set the SMTP port
$mail->Host = "smtpauth.online.net"; // SMTP server
$mail->Username = "[email protected]"; // SMTP account username
$mail->Password = "*****";
$mail->auth_username = "[email protected]"; // SMTP account username
$mail->auth_password = "******";
$mail->AddReplyTo($email, $pseudo);
$mail->SetFrom('[email protected]', 'FantasyCraft.fr');
[***ICI***->]$mail->AddAddress('[email protected]');
$mail->Subject    = "Validation de votre adresse email";
$mail->AltBody    = "contactez [email protected] si vous voyez ce message"; // optional, comment out and test

$mail->MsgHTML($body);

if(!$mail->Send()) {
	echo "Mailer Error: " . $mail->ErrorInfo;
}
else {
	$query=$cnx->prepare('INSERT INTO t_users (users_name, users_pass, users_mail, users_web, users_localisation, users_inscription, users_verif, users_last_visit, users_code)
	VALUES (:pseudo, :password, :email, :website, :localisation, :temps, :temps, :users_verif, :users_code)');
	$query->bindValue(':pseudo', $pseudo, PDO::PARAM_STR);
	$query->bindValue(':password', $password, PDO::PARAM_INT);
	$query->bindValue(':email', $email, PDO::PARAM_STR);
	//$query->bindValue(':msn', $msn, PDO::PARAM_STR);
	$query->bindValue(':website', $website, PDO::PARAM_STR);
	$query->bindValue(':localisation', $localisation, PDO::PARAM_STR);
	$query->bindValue(':temps', $temps, PDO::PARAM_INT);
	$query->bindValue(':users_verif', $users_verif, PDO::PARAM_INT);
	$query->bindValue(':users_code', $users_code, PDO::PARAM_INT);
	$query->execute();

		//Et on d&eacute;finit les variables de sessions
			$_SESSION['pseudo'] = $pseudo;
			$_SESSION['id'] = $cnx->lastInsertId(); ;
			$_SESSION['level'] = 2;
			$query->CloseCursor();
		
			echo'<p><span class="reussi">Vous &ecirc;tes maintenant inscrit sur '.SITE_NAME.'<br/>Un email vous a &eacute;t&eacute; envoy&eacute; avec vos coordon&eacute;es de connexion.</span></p>
			<script type="text/javascript">
			<!--
			setTimeout(function()
			{
				window.location.href = "./index.php";
			},6000);
			// -->
			</script>'; 

}
Voici ce qu'il m'indique

Code : Tout sélectionner

Mailer Error: SMTP Error: The following recipients failed: [email protected] SMTP server error: authentication required
et si j’enlève la ligne défectueuse:

Code : Tout sélectionner

Mailer Error: You must provide at least one recipient email address.
Je comprend rien à cette nouvelle façon d'envoyer de email.

Pourriez vous, SVP, m'aider à résoudre se problème, et éventuellement si vous connaissez de bon tutos sur phpMail, je prend.

Merci de votre aide

Re: Problème avec envoie d'email

Posté : 18 janv. 2012, 05:30
par Fre3z69
Problème résolut

Merci de votre aide

j'avais oublier une lettre sur le MDP pour le fait qu'il me disait:

Mailer Error: SMTP Error: The following recipients failed: [email protected]

SMTP server error: authentication required


Merci beaucoup, le morceau que j'ai rajouter grâce à vous m'a permis de fonctionner

Cordialement