Php Can';不要把电子邮件发送到我自己的域名

Php Can';不要把电子邮件发送到我自己的域名,php,email,ubuntu,sendmail,Php,Email,Ubuntu,Sendmail,我已经在我的ubuntu服务器上设置了sendmail,并且我已经设置了以下PHP代码以通过电子邮件发送我自己的域contact@example.com: $subject = "Hello!"; $message = "This is a test."; $header = "From: " . $email . "\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: text/html; charset=I

我已经在我的ubuntu服务器上设置了sendmail,并且我已经设置了以下PHP代码以通过电子邮件发送我自己的域
contact@example.com

$subject = "Hello!";
$message = "This is a test.";

$header = "From: " . $email . "\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

mail("contact@example.com", $subject, $message, $header);
然而,电子邮件从未收到。然而,当我将目标电子邮件更改为Gmail或Yahoo时,电子邮件发送的效果很好

这是我的
mail.log
文件的输出:

Oct 24 16:41:17 CA2EXAMPLE01 sendmail[4476]: s9OGfHVe004476: from=www-data, size=186, class=0, nrcpts=1, msgid=<201410241641.s9OGfHVe004476@CA2EXAMPLE01.example.com>, relay=www-data@localhost
Oct 24 16:41:17 CA2EXAMPLE01 sm-mta[4477]: s9OGfHeD004477: from=<www-data@CA2EXAMPLE01.example.com>, size=431, class=0, nrcpts=1, msgid=<201410241641.s9OGfHVe004476@CA2EXAMPLE01.example.com>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Oct 24 16:41:17 CA2EXAMPLE01 sendmail[4476]: s9OGfHVe004476: to=contact@example.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30186, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (s9OGfHeD004477 Message accepted for delivery)
Oct 24 16:41:17 CA2EXAMPLE01 sm-mta[4479]: s9OGfHeD004477: to=<contact@example.com>, ctladdr=<www-data@CA2EXAMPLE01.example.com> (33/33), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120431, relay=mail.example.com. [11.23.41.55], dsn=4.0.0, stat=Deferred: Connection refused by mail.example.com.
10月24日16:41:17 CA2示例01 sendmail[4476]:S9OGFHVE04476:from=www数据,size=186,class=0,nrcpts=1,msgid=,relay=www-data@localhost
10月24日16:41:17 CA2EXAMPLE01 sm mta[4477]:S9OGFHED04477:from=,size=431,class=0,nrcpts=1,msgid=,proto=ESMTP,daemon=mta-v4,relay=localhost[127.0.0.1]
10月24日16:41:17 CA2示例01发送邮件[4476]:s9OGfHVe004476:收件人=contact@example.com,ctladdr=www-data(33/33),delay=00:00:00,xdelay=00:00:00,mailer=relay,pri=30186,relay=[127.0.0.1][127.0.0.1],dsn=2.0.0,stat=Sent(S9OGFHED04477消息接受传递)
10月24日16:41:17 CA2示例01 sm mta[4479]:S9OGFHED04477:to=,ctladdr=(33/33),延迟=00:00:00,xdelay=00:00:00,mailer=esmtp,pri=120431,relay=mail.example.com。[11.23.41.55],dsn=4.0.0,stat=Deferred:mail.example.com拒绝连接。

我在错误日志中看到的主要问题是
延迟:连接被mail.example.com拒绝,但我不确定出了什么问题。

您需要更改postfix的配置

vim /etc/postfix/main.cf

并从
mydestination
的值中删除您的域名

您需要为环回ip添加一个条目:

#add this to bind hostname
127.0.0.1      CA2EXAMPLE01.example.com//whatever you meant by mail.example.com

\r\n
用于windows@meda我不认为这可以解释我的问题,因为我可以将电子邮件发送到gmail帐户,但不能发送到我自己的域。我没有说这是原因,只是指出了这一点,但你应该确保sendemail服务正在运行,并去检查logs@medasendmail肯定在运行(我可以向gmail帐户发送邮件)并将日志中的错误粘贴到我的帖子中。
连接被拒绝
总是与网络有关,你需要检查防火墙,因为gmail使用不同的端口。我没有安装postfix,只安装sendmail。@user4171336我想它一定会帮助你这与postfix是一样的;)