首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解sendmail配置

了解sendmail配置
EN

Stack Overflow用户
提问于 2011-07-09 22:32:56
回答 1查看 793关注 0票数 1

我试图让php在Ubuntu linux机器上通过" mail ()命令发送邮件,邮件看起来像是在发送邮件,然后被发送邮件丢弃了--我不知所措。

php mail()函数返回true。邮件未投递。

/var/log/mail.log文件包含以下条目。

代码语言:javascript
复制
Jul  9 15:15:34 anake postfix/pickup[1292]: 02879340040: uid=33 from=<www-data>
Jul  9 15:15:34 anake postfix/cleanup[2079]: 02879340040: message-id=<20110709141534.02879340040@anake>
Jul  9 15:15:34 anake postfix/qmgr[1293]: 02879340040: from=<www-data@anake.ianhobXXson.co.uk>, size=411, nrcpt=1 (queue active)
Jul  9 15:15:36 anake postfix/smtp[2082]: 02879340040: to=<hobXXson42@gmail.com>, relay=smtp.ntlworld.com[81.103.221.11]:25, delay=2.3, delays=0.1/0.02/2.1/0.13, dsn=5.0.0, status=bounced (host smtp.ntlworld.com[81.103.221.11] $
Jul  9 15:15:36 anake postfix/cleanup[2079]: 5370B340042: message-id=<20110709141536.5370B340042@anake>
Jul  9 15:15:36 anake postfix/bounce[2083]: 02879340040: sender non-delivery notification: 5370B340042
Jul  9 15:15:36 anake postfix/qmgr[1293]: 5370B340042: from=<>, size=2228, nrcpt=1 (queue active)
Jul  9 15:15:36 anake postfix/qmgr[1293]: 02879340040: removed
Jul  9 15:15:36 anake postfix/local[2084]: 5370B340042: to=<www-data@anake.ianhobXXson.co.uk>, relay=local, delay=0.03, delays=0/0.02/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
Jul  9 15:15:36 anake postfix/qmgr[1293]: 5370B340042: removed

我不明白它从哪里得到“发件人”的地址。实际执行的代码如下:

代码语言:javascript
复制
<?php 
    $to      = 'hobXXson42@gmail.com';
    $subject = 'Test email';  
    $message = 'hello - this has gone round the loop';
    $headers = 'From: ian@ianhobXXson.co.uk' . "\n" .
              'Reply-To: ian@ianhobXXson.co.uk' . "\n" .
              'X-Mailer: PHP/'. phpversion()."\r\n";
    if (mail($to, $subject, $message, $headers)) {
        echo "Message sent OK";
    } else {
        echo "message send failed";
    }

?>

有人能发现哪里出了问题吗?我能做些什么?电子邮件地址以一种相当明显的方式略有改变。伊恩

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-09 22:37:15

Return-Path是向其发送退回的地址,以及其他内容。

您可以使用mail()函数的第五个参数来更改信封发件人。Postfix (您的服务器正在运行)、Sendmail和Exim都可以使用-f标志更改信封发件人:

代码语言:javascript
复制
...
$extra_parameters = '-fian@ianhobXXson.co.uk';
mail($to, $subject, $message, $headers, $extra_parameters);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6635385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档