Question
Dans mon application Web PHP, je souhaite être averti par e-mail chaque fois que certaines erreurs se produisent.J'aimerais utiliser mon compte Gmail pour les envoyer.Comment cela pourrait-il être fait?
La solution
Le serveur SMTP de Gmail nécessite une configuration très spécifique.
Depuis Aide Gmail:
Outgoing Mail (SMTP) Server (requires TLS)
- smtp.gmail.com
- Use Authentication: Yes
- Use STARTTLS: Yes (some clients call this SSL)
- Port: 465 or 587
Account Name: your full email address (including @gmail.com)
Email Address: your email address (username@gmail.com)
Password: your Gmail password
Vous pouvez probablement configurer ces paramètres dans Poire ::Courrier ou PHPMailer.Consultez leur documentation pour plus de détails.
Autres conseils
Vous pouvez utiliser la fonction de messagerie de PEAR avec le serveur SMTP de Gmail
Notez que lorsque vous envoyez un e-mail à l'aide du serveur SMTP de Gmail, il semblera qu'il provienne de votre adresse Gmail, même si vous évaluez $from.
(code suivant tiré de Conseils de programmation About.com )
<?php
require_once "Mail.php";
$from = "Sandra Sender <sender@example.com>";
$to = "Ramona Recipient <recipient@example.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
// stick your GMAIL SMTP info here! ------------------------------
$host = "mail.example.com";
$username = "smtp_username";
$password = "smtp_password";
// --------------------------------------------------------------
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>