[英]unable to send email through PHP with POP3
我已完成編寫PHP代碼以使用POP3發送電子郵件。 但是每次我遇到錯誤時
[錯誤] =>連接到POP3服務器引發了PHP警告:[errno] => 2 [errstr] => fsockopen()[function.fsockopen]:無法連接到pop3.yahoo.com:465(嘗試連接失敗)SMTP->錯誤:無法連接到服務器:連接嘗試失敗,因為一段時間后被連接方未正確響應,
這是我的代碼。
<?php
require_once('/class.phpmailer.php');
require_once('/class.pop3.php'); // required for POP before SMTP
$pop = new POP3();
$pop->Authorise('pop3.yahoo.com',465,10, 'arsalansherwani@yahoo.com',
'******',1);
$mail = new PHPMailer();
$msg='Name';
//$body = file_get_contents('contents.html');
//$body = eregi_replace("[\]",'',$body);
$address='arsalanjawed619.com';
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->Host = 'pop3.yahoo.com';
$mail->SetFrom('arsalansherwani@yahoo.com', 'arsalan');
$mail->AddReplyTo("arsalansherwani@yahoo.com","arsalan");
$mail->Subject = "PHPMailer Test Subject via POP before SMTP, basic";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML($msg);
$address = "arsalanjawed619@yahoo.com";
$mail->AddAddress($address, "arsalan");
//$mail->AddAttachment("images/phpmailer.gif"); // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
任何幫助將不勝感激
您不會使用pop3發送電子郵件,而是要檢索它們。 例如,您使用SMTP發送電子郵件...
您連接到錯誤的服務器。 連接到SMTP服務器。 我認為下面的代碼將工作。
$pop->Authorise('smtp.mail.yahoo.com',465,10, 'arsalansherwani@yahoo.com',
'******',1);
pop3是從郵件服務器檢索電子郵件所需的郵局協議。 您需要使用smtp協議。 連接到具有適當授權的smtp服務器。 某些SMTP服務器可能要求使用SSL
您需要對POP3和SMTP使用其他服務器。
POP3用於接收電子郵件
SMTP用於發送電子郵件
您需要使用
$mail->Host= 'smtp.mail.yahoo.com';
代替
$mail->Host = pop3.yahoo.com';
和
$pop->Authorise('pop3.yahoo.com',465,10, 'arsalansherwani@yahoo.com',
'******',1);
至
$pop->Authorise('pop.mail.yahoo.com',465,10,'arsalansherwani@yahoo.com',
'******',1);
使其工作
<?php
require_once('class.phpmailer.php');/*Including classes from php mailer*/
require_once('class.pop3.php');
require_once('class.smtp.php');
$pop = new POP3(); /*Create a new object for pop3*/
$pop->Authorise('mailserver001.mydomain.com', 110, 30, 'username', 'password', 1); /*login in to pop3 */
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Debugoutput = 'html';
$mail->SMTPDebug = 2;
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true)
); /*Skip SSL Errors(if any),generally not needed*/
$mail->Host = 'mailserver001.mydomain.com'; /*SMTP host*/
$mail->SetFrom('info@mydomain.com', 'Name');/*Email content */
$mail->AddReplyTo("info@mydomain.com","Name");
$mail->Subject = "Welcome";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->MsgHTML('HTML');
$address = "myname@otherdomain.com";
$mail->AddAddress($address, "Name");
if(!$mail->Send()) {/*Send Email*/
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
為免費的Yahoo Mail帳戶啟用POP3:
轉到Gear並單擊設置:
單擊帳戶導航,然后單擊編輯按鈕:
單擊POP的單選按鈕,選擇是否要包含垃圾郵件,然后單擊保存:
打開POP3后,Yahoo Mail的設置為:
接收郵件服務器設置:
免費的Yahoo帳戶:pop.mail.yahoo.com(端口995,需要SSL)
Yahoo Plus帳戶:plus.pop.mail.yahoo.com(端口995,需要SSL)
使用您的完整電子郵件地址和密碼登錄。
免費的Yahoo Mail帳戶應使用傳出服務器設置:smtp.mail.yahoo.com,端口587(需要SSL / TLS)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.