如何让 php 邮件功能在 Debian“squeeze”上运行?

如何让 php 邮件功能在 Debian“squeeze”上运行?

可能重复:
使 PHP mail() 函数在 Debian Lenny 上运行

我已经在我的 Debian 服务器上安装了 Apache 和 PHP5。

首先,我尝试使用 sendmail。以下是我尝试过的分步过程:

Step 1: apt-get install sendmail
Step 2: /etc/init.d/apache2 restart

但这并没有起作用。

然后我尝试使用外部 SMTP。我的域名注册于巨岩我在那里注册了一个电子邮件地址[email protected],它给了我所需的凭证。

在服务器上我安装了 sSMTP

> apt-get install ssmtp
> Configured "/etc/ssmtp/ssmtp.conf" file.

在配置文件中我添加了

[email protected]
mailhub=smtp.fostergen.com:587 (Here I have doubt. I am not sure what to use here. I tried smtp.fostergen.com:587, smtp.fostergen.com:25,mx1.mailhostbox.com :587,mx1.mailhostbox.com:25.

我仍然不确定这里要使用什么 mailhostbox.com。我使用了 mx1.mailhostbox.com,因为它是我在 bigrock 上的域名的 mx 条目。以下是屏幕截图![bigrock 电子邮件管理工具的屏幕截图] )

hostname=vs3204.ams2.alvotec.de(我在我的服务器上输入了命令hostname -f并得到了结果)

FromLineOverride=YES    
UseSTARTTLS=YES    
[email protected]    
AuthPass=password provided during email registration on bigrock

> edited /etc/ssmtp/revaliases 
(added " root:[email protected]:mx1.mailhostbox.com :587 " in the last line)
> edited php.ini file (sendmail_path = /usr/sbin/ssmtp -t)
> /etc/init.d/apache2 restart

但这并没有起作用。

此后我尝试了 eSMTP。执行步骤:

> apt-get install esmtp
> edited /etc/esmtprc
    hostname=smtp.fostergen.com:587
   username= [email protected]
   password: password provide by bigrock
    mda="/usr/bin/procmail -d %T"
> linked eSMTP to the legacy Sendmail path by execting the command "ln -s /usr/bin/esmtp /usr/bin/sendmail" 
> edited php.ini file (/usr/bin/sendmail -t -i)
> /etc/init.d/apache2 restart

但这种技术也失败了。

我只想通过 php 邮件功能向用户发送电子邮件。请帮忙。我哪里做错了?

答案1

看起来您的问题是:“如何在我的专用服务器上安装 mta 并将其与 php5 一起使用”?

因此,需要遵循以下两个步骤:

  • 第一个是安装 MTA。如果你对邮件服务器不太了解,我建议你使用 postfix 而不是 sendmail:它更简单。出于安全原因,确保它只监听 127.0.0.1因为您不想接收/中继邮件(/etc/postfix/main.cf 中的 inet_interfaces = 127.0.0.1)。通过从命令行界面发送电子邮件来测试它是否有效。如果不行,请查看日志(/var/log/mail.*)。

  • 第二步是配置 php 以使用 postfix。如果我记录正确,默认的 debian 值开箱即用,因此无需更改。

相关内容