begin process at 2012 05 30 23:28:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Envoi de mail en TLS par Gandi, quelle fonction?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Envoi de mail en TLS par Gandi, quelle fonction?

jeudi 3 janvier 2008 à 17:24:45 | Envoi de mail en TLS par Gandi, quelle fonction?

Billybobbonnet

Bonjour à tous,

J'ai un nom de domaine tout neuf chez Gandi pour un site que j'héberge. Pour envoyer des mails via les serveurs smtp de gandi, je dois utiliser une connexion TLS authentifiée par nom d'utilisateur & mot de passe. J'y arrive depuis thunderbird.

Or, il me semble que je ne peux pas utiliser la fonction 'mail' de php si j'utilise ce type de protocole pour accéder au serveur smtp. Vous avez des solutions? Quelle méthode? Il faut que j'installe pear ou un module dédié aux mails?

Merci!
vendredi 4 janvier 2008 à 10:17:12 | Re : Envoi de mail en TLS par Gandi, quelle fonction?

Billybobbonnet

J'ai trouvé cette fonction pour créer une connexion sécurisée en TLS vers gmail, mais j'ignore si c'est ce qu'il me faut, si ça marche pour gandimail, et si il n'y a pas possibilité de le faire plus simplement.

function authgMail($from, $namefrom, $to, $nameto, $subject, $message)
{

/*  your configuration here  */

$smtpServer = "tls://smtp.gmail.com"; //does not accept STARTTLS
$port = "465"; // try 587 if this fails
$timeout = "45"; //typical timeout. try 45 for slow servers
$username = "yous@gmail.com"; //your gmail account
$password = "y0u4p@55"; //the pass for your gmail
$localhost = $_SERVER['REMOTE_ADDR']; //requires a real ip
$newLine = "\r\n"; //var just for newlines
 
/*  you shouldn't need to mod anything else */

//connect to the host and port
$smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout);
echo $errstr." - ".$errno;
$smtpResponse = fgets($smtpConnect, 4096);
if(empty($smtpConnect))
{
   $output = "Failed to connect: $smtpResponse";
   echo $output;
   return $output;
}
else
{
   $logArray['connection'] = "Connected to: $smtpResponse";
   echo "connection accepted<br>".$smtpResponse."<p />Continuing<p />";
}

//you have to say HELO again after TLS is started
   fputs($smtpConnect, "HELO $localhost". $newLine);
   $smtpResponse = fgets($smtpConnect, 4096);
   $logArray['heloresponse2'] = "$smtpResponse";
  
//request for auth login
fputs($smtpConnect,"AUTH LOGIN" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['authrequest'] = "$smtpResponse";

//send the username
fputs($smtpConnect, base64_encode($username) . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['authusername'] = "$smtpResponse";

//send the password
fputs($smtpConnect, base64_encode($password) . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['authpassword'] = "$smtpResponse";

//email from
fputs($smtpConnect, "MAIL FROM: <$from>" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['mailfromresponse'] = "$smtpResponse";

//email to
fputs($smtpConnect, "RCPT TO: <$to>" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['mailtoresponse'] = "$smtpResponse";

//the email
fputs($smtpConnect, "DATA" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['data1response'] = "$smtpResponse";

//construct headers
$headers = "MIME-Version: 1.0" . $newLine;
$headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine;
$headers .= "To: $nameto <$to>" . $newLine;
$headers .= "From: $namefrom <$from>" . $newLine;

//observe the . after the newline, it signals the end of message
fputs($smtpConnect, "To: $to\r\nFrom: $from\r\nSubject: $subject\r\n$headers\r\n\r\n$message\r\n.\r\n");
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['data2response'] = "$smtpResponse";

// say goodbye
fputs($smtpConnect,"QUIT" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['quitresponse'] = "$smtpResponse";
$logArray['quitcode'] = substr($smtpResponse,0,3);
fclose($smtpConnect);
//a return value of 221 in $retVal["quitcode"] is a success
return($logArray);
}


Je suppose que quelques uns parmi vous ont déjà eu à résoudre ce problème, alors, je viens aux nouvelles.

Merci de vos avis!



Cette discussion est classée dans : mail, fonction, envoi, tls, gandi


Répondre à ce message

Sujets en rapport avec ce message

Fonction mail(), envoi sans passé par une page php [ par BelphegorCLC ] Salut,Ma question est simple :Comment faire pour envoyer un mail sans passer par un page php ?J'entend par là :par exemple, je voudrai envoyer un mail fonction mail () + piece jointe [ par sidf ] bonjour à tousj'essaie de joindre des fichiers à l'envoi d'un mailj'ai intégré la classe mime_mail.class.phpet l'envoi de la pièce jointe s'effectue b probleme fonction mail et AOL [ par David_monchy ] Salut à tous, c'est encore moi, je viens de programmer un script qui, lorsque l'utilisateur s'est enregistré, envoie un mail avec un lien d'activation Saut de ligne dans la mise en forme d'envoi d'un mail avec la fonction mail. [ par bakalai ] Bonjour, J'ai un problème dans la mise en forme lors de la réception d'un mail en voyer via un formulaire.</s Envoi de mail avec fonction php [ par tagadax ] Bonjour tout le monde, je souhaiterai pouvoir integrer un formulaire dans mon site internet, et ce formulaire permettrait d'envoyer un mail... Il y a fonction mail [ par scorpion077 ] bonjour,la fonction suivante ne marche pas sur mon site :$headers = 'From: Cool-surfing '">webmaster@site.com>' . "\r\n" . 'Reply-To: <a href="mailto: fonction mail() [ par djbabou ] Bonjour a tous. Juste une petite question. Dans du code php, après avoir rempli un formulaire, j'ai un script qui envoie un mail de confirmation au c problème avec formulaire php [ par snakeissat ] Salut, je débute avec php, j'ai essayé de faire un petit formulaire en html pour une page de contact qui envoi le nom et le prenom et le message à mon La fonction mail() [ par djibidl ] Bonsoir, 1/ J'aimerai savoir si la fonction d'envoi de courriel [code=php]mail($destinaire,$object,$texte;[$entete])[/code] peut marcher or connexion envoi de mail [ par marcelolipi ] Salut Je mets au point cite web php avec un service qui requiert l'envoie des mail(notification). Le probleme est le suivant: pendant les test tou


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,732 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales