php - 我怎样才能让 PHP mail() 工作?需要帮助配置 MTA

标签 php email debian

更新:我解决了。记录了以下所有内容。

我尝试了很多方法,但就是行不通。

我不介意使用 postfix、exim4 或 sendmail。我只需要一步一步的指导和解释我在做什么。我还使用 Google Apps 来收发电子邮件。

编辑:

邮件.log

Nov  3 01:14:02 mugbear postfix[16615]: error: to submit mail, use the Postfix sendmail command
Nov  3 01:14:02 mugbear postfix[16615]: fatal: the postfix command is reserved for the superuser

这是什么意思?


编辑更新:通过使用 sendmail_path =/usr/sbin/sendmail -t -i

更正 php.ini 中的 sendmail_path 来修复

编辑2: PHP - 刚刚从文档中获取。仅供引用,我删除了我的电子邮件。

<?php
// The message
$message = "Line 1\nLine 2\nLine 3";

// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70);

// Send
mail('removed@gmail.com', 'My Subject', $message);

?>

编辑 3: 另一个错误:

Nov  3 07:22:29 mugbear postfix/postdrop[17131]: warning: unable to look up public/pickup: No such file or directory
Nov  3 07:22:29 mugbear postfix/postdrop[17133]: warning: unable to look up public/pickup: No such file or directory

edit3 更新:通过以下链接解决了这个问题:http://ubuntuforums.org/showthread.php?t=666018 运行这个:

sudo mkfifo /var/spool/postfix/public/pickup
sudo /etc/init.d/postfix restart

在那之后,你会得到这个错误:

 postfix/master[13902]: fatal: bind 0.0.0.0 port 25: Address already in use

然后你将不得不检查你的进程并杀死sendmail进程,例如:

root@server:/etc/postfix# ps aux | grep mail
root     23554  0.0  0.0   8232  1900 ?        Ss   10:17   0:00 sendmail: MTA: accepting connections          
root     27308  0.0  0.0   3004   764 pts/0    S+   10:30   0:00 grep mail
root@server:/etc/postfix# kill 23554

编辑4: 这是什么意思?

Nov  3 07:34:51 mugbear postfix/pickup[17309]: 6602F1C151: uid=33 from=<www-data>
Nov  3 07:34:51 mugbear postfix/cleanup[17311]: 6602F1C151: message-id=<20101103073451.6602F1C151@mugbear.xen.prgmr.com>
Nov  3 07:34:51 mugbear postfix/qmgr[17310]: 6602F1C151: from=<www-data@mugbear.com>, size=397, nrcpt=1 (queue active)
Nov  3 07:34:51 mugbear postfix/error[17321]: 6602F1C151: to=<mugbear@gmail.com>, relay=none, delay=0.03, delays=0.02/0/0/0.01, dsn=4.3.5, status=deferred (delivery temporarily suspended: Host or domain name not found. Name service error for name=xen.prgmr.com type=A: Host found but no data record of requested type)

更新到 edit4:我运行了 dpkg-reconfigure postfix 并选择了 Internet Site

最佳答案

您是否正确安装了 postfix?如是 : 服务后缀重启

nano/etc/php.ini

找到 sendmail_path ,将行更改为 sendmail_path =/usr/sbin/sendmail.postfix -t -i

这里还有 php 客户端的完整服务器/客户端安装说明 http://setahost.com/installing-postfix-as-a-default-mail-sending-program-with-php/

按照客户端安装说明...

关于php - 我怎样才能让 PHP mail() 工作?需要帮助配置 MTA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4083297/

相关文章:

ubuntu - 在 Ubuntu 12.04 LTS 上创建 debian 包

php - 无法获取本地颁发者证书/SOAP-ERROR : Parsing WSDL: Couldn't load from

php - 在 echo 函数中插入变量

PHP获取开始日期和结束日期之间的天数

php - 是否可以在 magento 中显示关联产品的属性?

php - 估计 libGD 操作所需的内存

PHP 引用可打印电子邮件和 Apple Mail App

c# 在 gmail 中发送邮件未收到

/etc/mysql/my.cnf更改后MySQL容器崩溃,如何编辑回来?

php - 在没有 cron-job 的情况下使用 php 和 mysql 发送提醒邮件?