E-posta: SMTP ve php

5 Cevap php

SMTP, onun değil çalışma, herhangi bir yardım yoluyla bir e-posta göndermek için çalışıyorsunuz?

//SMTP info
$host = "smtp.gmail.com";
$username = "taylor.mitchellstjoseph@googlemail.com";
$password = "password";
$from = "Taylor";//From email address
$to = "taylor@t-webdesign.co.uk";//Change this to your inbox


$headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject);
// HTML email
//$headers .= "MIME-Version: 1.0" . "\r\n";
//$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

$smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password));

//Send to you
$mail = $smtp->send($to, $headers, $message);
if (PEAR::isError($mail)) {
    echo("<h1>** Whoops! Error!. **</h1> <p>Please call us instead.</p>");
    echo("<p>" . $mail->getMessage() . "</p>");
} else {
    echo("<h1>Thank you for your inquiry!</h1> <p>Thank you for signing up for our event. Your request for our guestlist has been received. Please check your email for the confirmation.</p> ");
}

5 Cevap

PHP günlükleri kontrol ve rapor herhangi bir hata olup olmadığını bakın. Sözdizimi doğru görünüyor.

Your $ problem olabilir. Bu tam olarak geçerli bir e-posta adresi değil. Gerçek bir adrese değiştirme veya tamamen ihmal birini deneyin.

google documentation bağlantı noktaları 465 veya 587 SMTP sunucusuna bağlantıları için kullanılması gerektiğini söylüyor. Bu Mail_smtp varsayılan olarak 25 kullanır gibi görünüyor. 'Liman' parametresi ile 465 veya 587 açık bir değer deneyin

$smtp = Mail::factory(
    'smtp',
    array('host' => $host,
          'port' => 465,     // explicit port 465 or 587
          'auth' => true,
          'username' => $username,
          'password' => $password),
);

O değil, geçerli bir e-posta adresi sizin $ gibi kardeşime görünüyor. Siz "name@example.com" çizgisinde daha fazla bir şey ile bu yerine deneyebilirsiniz.

Ancak, standart PHP SMTP kütüphanesi ile küçük bir başarı oldu, bu yüzden ben her zaman yerine açık kaynak phpmailer kullanın. Bu gibi kolay ve HTML ve düz metin olarak gönderir, bir şey yanlış, vb giderse çok yararlı hata iletileri üretir

İyi şanslar.

Birçok ISS'ler kendi SMTP sunucusu kullanmak ve diğer olanları engellemek için gerekli olduğunu unutmayın.