簡體   English   中英

從PHP腳本發送電子郵件

[英]Send Email from PHP Script

我編寫了一些代碼,以使用PHPMailer從我的PHP腳本發送電子郵件。 由於某種原因,腳本沒有發送消息。


這是我的代碼:

<?php
require_once("PHPMailer/class.phpmailer.php");
$mail=new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "admin@zbrowntechnology.com";
$mail->Password = "PASSHERE";
$mail->SetFrom = "admin@zbrowntechnology.com";
$mail->AddAddress("zach@zbrowntechnology.com.com");
$mail->Subject = "Confirm Web Lock Registration!";
$mail->Body = "Please confirm your Web Lock Registration by clicking here!";
$mail->WordWrap = 50;

if(!$mail->Send())
{
   echo 'Message was not sent.';
   echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
  echo "Message Sent!";
}
?>

這是錯誤提示:

SMTP Error: Could not connect to SMTP host. Message was not sent.Mailer error: SMTP Error: Could not connect to SMTP host.

您的錯誤消息可能是由服務器上的防火牆設置引起的。 此錯誤消息通常是由防火牆阻止端口上的傳出連接引起的。

您還應該確保已啟用openssl擴展名。

您修復的原始答案:

您將發送給zach@zbrowntechnology.com.com,這不是您想要的地址。

您需要刪除第二個.com並將其更改為zach@zbrowntechnology.com

我也使用PHPMailer,只是嘗試了您的設置,並遇到了相同的錯誤。 這是我為女巫工作的設置(我用->>顯示您沒有的巫婆或與我不同的事物)

$mail->PHPMailer = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
->> $mail->SMTPSecure = "ssl";
->> $mail->Host = "smtp.gmail.com"; //not ssl://smtp.gmail.com
$mail->Port = 465; etc...

除我不使用自動換行外,其他所有內容均相同,但是我檢查了一下,這沒有引起問題。

您需要指定gmail用戶名和密碼,因為這是您在smtp設置中使用的名稱:

$mail->Username = "email_address@gmail.com";
$mail->Password = "yourgmailpassword";

作為一般提示,請嘗試打開調試:

$mail->SMTPDebug  = 2; // enables SMTP debug information (for testing)
                       // 1 = errors and messages
                       // 2 = messages only

從SO: 調試PHP Mail()和/或PHPMailer

就像您可能還想嘗試使用Zend_Mail的一些建議一樣,您可以愉快地使用它,而不必走遍整個MVC路線,它非常有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM