簡體   English   中英

無法使用POP3通過PHP發送電子郵件

[英]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.

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