2008-08-30 7 views
11

Dans ma webapp PHP, je veux être averti par e-mail lorsque certaines erreurs se produisent. J'aimerais utiliser mon compte Gmail pour les envoyer. Comment cela pourrait-il être fait?Mail PHP en utilisant Gmail

Répondre

8

SMTP-serveur Gmail nécessite une configuration très spécifique.

De Gmail help:

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 ([email protected]) 
Password:  your Gmail password 

Vous pouvez probablement définir ces paramètres dans Pear::Mail ou PHPMailer. Consultez leur documentation pour plus de détails.

4

Vous pouvez utiliser la fonction mail de PEAR avec SMTP Gmail serveur

Notez que lors de l'envoi e-mail en utilisant le serveur SMTP de Gmail, il ressemblera il est venu de votre adresse Gmail, malgré ce que vous la valeur est de $ de.

(code ci-dessous du About.com Programming Tips)

<?php 
require_once "Mail.php"; 

$from = "Sandra Sender <[email protected]>"; 
$to = "Ramona Recipient <[email protected]>"; 
$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>"); 
} 
?> 
Questions connexes