SMTP gmail.

Tamoraoul Messages postés 3 Statut Membre -  
mpmp93 Messages postés 7217 Statut Membre -
Hello World , j'ai un souci
Je voudrais utiliser la fonction mail() de php pour tester l'envoi de mail (c'est évident non ) depuis mon localhost en utilisant un serveur SMTP gmail.
Quelqu'un l'a déjà fait ?!!
Je peux savoir comment ?!!

PS: Je suis sous Win7 so les Linuxiens là...
A voir également:

2 réponses

SypayV Messages postés 7399 Statut Contributeur 449
 
Salut,

Tu peux envoyer des mails en PHP avec Gmail.
Mais pas avec la fonction mail() puisqu'elle ne supporte pas le SSL alors que Gmail n'accepte pas les connexions non sécurisées.

$host = "ssl://smtp.gmail.com";
$port = "465";


Ce que tu peux faire, c'est utiliser des bibliothèques PHP pour envoyer à l'aide d'SSL et c'est très simple.

https://swiftmailer.symfony.com/ depuis https://stackoverflow.com/questions/712392/send-email-using-the-gmail-smtp-server-from-a-php-page
<?php
require_once 'swift/lib/swift_required.php';

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
  ->setUsername('GMAIL_USERNAME')
  ->setPassword('GMAIL_PASSWORD');

$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance('Test Subject')
  ->setFrom(array('abc@example.com' => 'ABC'))
  ->setTo(array('xyz@test.com'))
  ->setBody('This is a test mail.');

$result = $mailer->send($message);
?>


Il est aussi possible d'utiliser libcurl pour ça maintenant.

Que tu utilises Linux ou non, ça n'aura aucun impact sur les scripts PHP.
0
mpmp93 Messages postés 7217 Statut Membre 1 340
 
Bonjour,

C'est possible d'envoyer des mails via SMTP de Google. J'utilise personnellement Zend Framework. Voici un extrait de code:

 $config = array(
                    'ssl'=>'ssl',
                    'port'=>465,
                    'auth' => 'login',
                    'username' => 'votre-adresse-mail@gmail.com',
                    'password' => 'motDePasseAdresseMail');
                $transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
                    $mail = new Zend_Mail('ISO-8859-1');
                    $mail->setBodyHtml(utf8_decode($body));
//                    $mail->setFrom("contact.sea1@sorties-entre-amis.com");
                    $mail->setFrom("votre-adresse-mail@gmail.com");
                    $mail->setReplyTo("votre-adresse-mail@gmail.com");
                    $mail->addTo($destinataire);
                    $mail->setSubject(stripslashes(utf8_decode($subject)));
                    $error = false;
                    try {
                         $mail->send($transport);
                    } catch(Exception $e) {
                        echo "Exception: {$e->getMessage()}";
                        $error = true;
                    }


Cdlt
0