1

我的脚本.php

<?php
ini_set('display_errors', 1); 
error_reporting(E_ALL);

$to      = 'myemail@gmail.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: anotheremail@domain.com' . "\r\n" .
    'Reply-To: anotheremail@domain.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

$res = mail($to, $subject, $message, $headers);
var_dump($res);
?>

php.ini 要点

sendmail_path = /usr/sbin/sendmail -t -i
mail.log = /home/myuser/phpmail.log
  • 当我运行 script.php 时,它显示 bool(true) 大约需要 30 秒。
  • /home/myuser/phpmail.log 包含所有标题的条目
  • /usr/sbin/sendmail 是 sendmail 的正确路径
  • 邮件打不通。测试了几个不同的地址,例如 mailinator

我如何让它工作?我可以做些什么来调试?

4

2 回答 2

1

0) 检查 sendmail 日志文件

1) 以同一系统用户发送测试消息

#!/bin/sh
/usr/sbin/sendmail -v -t -i <<END
To: myemail@gmail.com
Subject: the subject
From: anotheremail@domain.com
Reply-To: anotheremail@domain.com

hello
END
echo SENDMAIL EXIT CODE: $?
于 2013-07-31T04:32:07.223 回答
0

这终于奏效了

在 iptables 中为 localhost 打开端口 25,并从 php.ini 中的 sendmail_path 中删除“i”

sendmail_path = /usr/sbin/sendmail -t
于 2013-08-05T15:05:35.457 回答