【发布时间】:2012-06-28 00:48:52
【问题描述】:
我正在尝试使用 PEAR 邮件包和 SMTP 在 PHP 中发送电子邮件,但我不断收到错误 SMTP: Failed to connect socket: Connection Refused
我对 SMTP 的工作原理一无所知,请耐心等待。
这是我的代码:
$recipients = $_SESSION['email'];
$headers["From"] = "example@example.com";
$headers["To"] = "example@example.com";
$headers["Subject"] = 'Subject Text!';
$mailmsg = $_SESSION['body'];
/* SMTP server name, port, user/password */
$smtpinfo["host"] = "mail.example.com";
$smtpinfo["port"] = "587";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = $email_user;
$smtpinfo["password"] = $email_pass;
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
/* Ok send mail */
$send = $mail_object->send($recipients, $headers, $mailmsg);
if (PEAR::isError($send)) {
echo '<p>Error: ' . $send->getMessage() . '</p>';
} else {
header('Location: ../../emailed.php');
}
我所知道的是:
域是 hostgator,电子邮件处理程序是 Keiro Connect。
我不确定要通过哪个端口。我查看了服务,它说侦听 IP 地址是:
- SMTP:所有地址:25,所有地址:587
- 安全 SMTP:所有地址:465
- SMTP 提交:所有地址:587 *此服务已关闭
我还注意到 SMTP 传送设置为直接使用 DNS MX 记录传送。我不知道这是否意味着什么。
我做错了什么?我应该寻找什么才能按顺序获取所有参数? 任何帮助将不胜感激。
【问题讨论】:
-
这更多是服务器问题而不是编码问题。远程主机正在阻止连接。 ServerFault 可能会更好地提供服务