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