抱歉,这是新手的问题,但我希望有人能给我提供一些帮助/步骤。
我正在将网站从托管共享托管帐户迁移到新的CentOS 7云服务器。除了尝试从 PHP 脚本发送电子邮件时,一切似乎都运行正常。设置 CentOS 服务器时,我没有配置任何邮件应用程序等。
我猜是因为我没有安装某些东西。有人能告诉我如何设置服务器以从 PHP 应用程序发送电子邮件吗(我不想设置完整的邮件服务器,因为这是通过 Office365 管理的)。
我尝试发送一个测试,它所做的就是向我发送一条消息/var/spool/邮件
任何帮助/建议都将非常有用!(以下是 /var/spool/mail/ 的输出)
--0AEF.1434711105/testserver1.localdomain
Content-Description: Delivery report
Content-Type: message/delivery-status
Reporting-MTA: dns; testserver1.localdomain
X-Postfix-Queue-ID: 0AEF
X-Postfix-Sender: rfc822; [email protected]
Arrival-Date: Fri, 19 Jun 2015 06:51:44 -0400 (EDT)
Final-Recipient: rfc822; [email protected]
Action: failed
Status: 5.0.0
Remote-MTA: dns; googlemail.com
Diagnostic-Code: smtp; 550-Verification failed for
<[email protected]> 550-The mail server could not deliver mail
to [email protected]. The account or domain may not exist,
they may be blacklisted, or missing the proper dns entries. 550 Sender
verify failed
--0AEF.1434711105/testserver1.localdomain
Content-Description: Undelivered Message
Content-Type: message/rfc822
Return-Path: <[email protected]>
Received: by testserver1.localdomain (Postfix, from userid 48)
id 0AEF; Fri, 19 Jun 2015 06:51:44 -0400 (EDT)
To: [email protected]
Subject: My subject
X-PHP-Originating-Script: 0:index.php
Message-Id: <[email protected]>
Date: Fri, 19 Jun 2015 06:51:44 -0400 (EDT)
From: [email protected] (Apache)
First line of text
Second line of text
--0AEF.1434711105/testserver1.localdomain--
答案1
您仍然需要配置某物处理电子邮件。
最简单的方法可能是配置您正在使用的 MTA,以便它将[email protected]
(php 最终使用的电子邮件地址)更改为您想要使用的任何邮件地址。
由于你似乎正在使用 Postfix,你应该查看这Postfix 官方文档中的部分解释了如何做到这一点。
答案2
Wouter 说得对,您需要一个 mta,并且 postfix 是一个不错的选择,但是在花费大量时间配置它之前,您应该检查您的努力不会白费。
- 你的服务器可以解析主机名吗(尝试使用 nslookup)?
- 它可以通过端口 25 与外界建立连接吗(尝试使用 telnet)?
- selinux 是否启用?
禁用 selinux 可能看起来有点笨拙和不明智,但是,虽然 RH7 类型的策略是对 6.5 的改进,但 SElinux 和 RH 策略确实很糟糕,并且除了静态内容服务器之外,在其他任何方面都只能增加很少的安全益处,而付出的努力成本却非常高昂。