[英]Pear Mail script not authenticating to send mail
你好,
我有一個非常簡單的腳本,只是想通過電子郵件將確認電子郵件發送給用戶。 但是,我不斷收到以下錯誤:
身份驗證失敗[SMTP:無法寫入套接字:未連接(代碼:250,響應:Hello localhost [127.0.0.1] SIZE 52428800 8BITMIME PIPELINING AUTH PLAIN LOGIN STARTTLS HELP)]]
該腳本如下。 梨郵件已安裝。 是的,密碼是正確的,但我沒有將其放在此處的腳本中。 有人看過這個錯誤嗎?
function send_email($from, $to, $subject, $body)
{
require_once "Mail.php";
global $debug;
$host = "localhost";
$username = "user";
$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) && $debug)
{
echo("<p>" . $mail->getMessage() . "</p>");
}
}
編輯:
調用進行時,exim_mainlog實際上正在顯示此消息:
2013-09-06 15:50:51來自[127.0.0.1]:59845的SMTP連接(TCP / IP連接計數= 1)2013-09-06 15:50:51來自本地主機[127.0.0.1]:59845的SMTP連接丟失
好的,所以我完全放棄了Pear :: Mail,只是將整個腳本轉換為PHP_Mailer。
現在可以正常工作了
function send_email($from, $to, $subject, $body)
{
ini_set("include_path", ".:/home/user/public_html/PHPMailer_v2.0.4/");
require_once("class.phpmailer.php");
global $debug;
$mailer= new PHPMailer();
$mailer->IsSMTP();
$mailer->Host = 'localhost';
$mailer->SMTPAuth = true;
$mailer->Username = "email";
$mailer->Password = "*******";
$mailer->FromName = "User";
$mailer->From = "email";
$mailer->AddAddress($to);
$mailer->Subject = $subject;
$mailer->Body = $body;
if(!$mailer->Send())
{
//echo "Message was not sent";
echo "Mailer Error: " . $mailer->ErrorInfo;
exit;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.