php 邮件设置 - 适合我的设置的正确值

php 邮件设置 - 适合我的设置的正确值

我们使用托管公司来托管我们的网站,但我们的邮件服务器由我们的 ISP 托管,我们的网站域名为;@sample.net。

SMTP mail.isp.com

在网站上,我们有一个联系表格,可以发送电子邮件[电子邮件保护]用户提交后。

使用默认设置:

SMTP localhost
sendmail_path /usr/sbin/sendmail -t -i

以及自定义设置:

 sendmail_from [email protected]

我能够成功将邮件发送到 @sample.com 以外的外部域。经过调查,我认为这是因为 SMTP 是本地主机,没有正确指向我们的 ISP 邮件服务器。

如果我有一个外部公司托管该网站,并且我们的邮件服务器由我们的 ISP 托管,那么我应该在 SMTP 中放置什么值?

答案1

除了 @adamo 所说的确实可能之外,您还可以尝试使用以下方式发送邮件PEAR::邮件

这里有一些来自 unixcraft 的示例代码,您可以尝试一下。

<?php
include("Mail.php");
/* mail setup recipients, subject etc */
$recipients = "[email protected]";
$headers["From"] = "[email protected]";
$headers["To"] = "[email protected]";
$headers["Subject"] = "User feedback";
$mailmsg = "Hello, This is a test.";
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "smtp.mycorp.com";
$smtpinfo["port"] = "25";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "smtpusername";
$smtpinfo["password"] = "smtpPassword";
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
/* Ok send mail */
$mail_object->send($recipients, $headers, $mailmsg);
?>

另一个解决方案(如果您希望所有邮件都通过远程邮件服务器)是配置同步邮件传输协议作为您的 sendmail 二进制文件。

答案2

问题在于,您域的 MX 服务器(位于您的 ISP)不接受从其他地方(ISP 之外)发送的、声称来自您的合法电子邮件。您必须联系 ISP 的邮件技术支持(这不是“我的 Outlook 无法正常工作”之类的一级支持请求)并解决此问题。

我曾在博客中讨论过类似的案例这里

对于您来说,简单的解决方案可能是 ISP 允许您的网络主机连接到 smtp.sample.net 并从那里发送邮件。

相关内容