0

我正在尝试使用下面的 php 脚本从外部 smtp 服务器发送邮件,

<?php
$recipient="john_doe@gmail.com"; 
$subject="Website to customer";
$message="Customer Name: ".$_POST['name']."\r\n";
$message.="Customer Email: ".$_POST['email']."\r\n";
$message.="Customer Message: ".$_POST['msg']."\r\n"; 
$mailheader="From: <maria@comcast.net> \r\n";
$mailheader.="Reply to ".$_POST['email'];
ini_set("SMTP","comcast.net");
mail($recipient, $subject, $message, $mailheader);
?>
<!DOCTYPE html>
<html>
<head>
<title>Sending mail from website to Customer</title>
</head>
<body>
<p>Thanks, <strong><?php echo $_POST['name']; ?></strong>, for your message.</p>
<p>Your email address: <strong><?php echo $_POST['email']; ?></strong></p>
<p>Your message: <br/><?php echo $_POST['msg']; ?></p>
</body>
<html>

我收到一条错误消息:

Warning: mail() [function.mail]: Failed to connect to mailserver at "comcast.net" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\sendmail.php on line 10

那是因为我没有本地电子邮件服务器吗?phpmailer会解决我的问题吗?任何人都可以指导我正确的方向吗?非常感谢。

4

2 回答 2

2

是的。谷歌上的 5 秒发现了这个,http://customer.comcast.com/help-and-support/internet/list-of-blocked-ports/

使用端口 465。您可能需要设置帐户信息才能在他们的服务器上发送传出。

于 2013-04-08T23:41:28.150 回答
1

使用smtp.comcast.net而不是comcast.net作为SMTP参数。将smtp_port参数设置为587
但是页面 [2] 建议您需要不受 php-mail 支持的 SMTP AUTHentication。有关可用的替代方案,请参见第 [3] 页。

网址:
1. http://www.php.net/manual/en/mail.configuration.php
2. http://customer.comcast.com/help-and-support/internet/email-client- programs-with-xfinity-email/
3. php.ini & SMTP= - 你如何传递用户名和密码

于 2013-04-09T06:26:27.790 回答