SMTP Send/Receive 使用外部服务器
SMTP Send/Receive using external server
我创建了一个 php 脚本,其工作方式如下:
- 新产品以电子邮件形式收到账单
- 当前本地主机 smtp 服务器接收电子邮件并配置为使用 ~/mail/new/ 文件夹将每封电子邮件作为文件
- 脚本读取文件夹,解析每个电子邮件文件,然后创建一个项目来跟踪出现情况
并发症:IT 部门希望我使用我们的内部 MS Exchange 服务器而不是主机上的 smtp 服务器来协助解决垃圾邮件问题。
所以基本上我需要弄清楚两件事中的一件。我能想到的最简单的事情是使用 Exchange SMTP 服务器将后缀配置为 send/receive 邮件,但是我只能找到关于如何通过中继主机发送邮件的指南,而不是接收。我还找到了 ssmtp,但它还是只发送。我想到了使用 ssmtp 发送并设置某种 cron 每 10 分钟检查收到的电子邮件。
第二种选择是将 SMTP 详细信息硬编码到 php 脚本中,我反对这样做。
我乐于接受建议。服务器是 Centos 7 x64.
如果交换服务器收到传入邮件,那么您应该能够使用 PHP 的内置 IMAP 功能从交换服务器上的邮箱中提取邮件。参见 http://php.net/manual/en/book.imap.php。
我最终使用 fetchmail + postfix 来做到这一点。
已安装 fetchmail
sudo yum install fetchmail
我有几个用户在为不同的脚本提供服务,因此我必须使用以下格式为每个用户创建 ~/.fetchmailrc:
poll imap.server.com proto imap:
user "imapusername" is localusername here
with password "password"
folder "Custom Folder"
keep
ssl
fetchall
然后,在每个用户的 crontab 中,我每十分钟向 运行 fetchmail 添加一个条目:
*/10 * * * * fetchmail
关于发送,我保留了配置postfix使用imap服务器作为中继主机的方案:
relayhost = [imap.server.com]
我们的交换服务器配置为不将邮件从内部主机中继到垃圾邮件网关。 IT 很高兴,脚本有效。
我创建了一个 php 脚本,其工作方式如下:
- 新产品以电子邮件形式收到账单
- 当前本地主机 smtp 服务器接收电子邮件并配置为使用 ~/mail/new/ 文件夹将每封电子邮件作为文件
- 脚本读取文件夹,解析每个电子邮件文件,然后创建一个项目来跟踪出现情况
并发症:IT 部门希望我使用我们的内部 MS Exchange 服务器而不是主机上的 smtp 服务器来协助解决垃圾邮件问题。
所以基本上我需要弄清楚两件事中的一件。我能想到的最简单的事情是使用 Exchange SMTP 服务器将后缀配置为 send/receive 邮件,但是我只能找到关于如何通过中继主机发送邮件的指南,而不是接收。我还找到了 ssmtp,但它还是只发送。我想到了使用 ssmtp 发送并设置某种 cron 每 10 分钟检查收到的电子邮件。
第二种选择是将 SMTP 详细信息硬编码到 php 脚本中,我反对这样做。
我乐于接受建议。服务器是 Centos 7 x64.
如果交换服务器收到传入邮件,那么您应该能够使用 PHP 的内置 IMAP 功能从交换服务器上的邮箱中提取邮件。参见 http://php.net/manual/en/book.imap.php。
我最终使用 fetchmail + postfix 来做到这一点。
已安装 fetchmail
sudo yum install fetchmail
我有几个用户在为不同的脚本提供服务,因此我必须使用以下格式为每个用户创建 ~/.fetchmailrc:
poll imap.server.com proto imap:
user "imapusername" is localusername here
with password "password"
folder "Custom Folder"
keep
ssl
fetchall
然后,在每个用户的 crontab 中,我每十分钟向 运行 fetchmail 添加一个条目:
*/10 * * * * fetchmail
关于发送,我保留了配置postfix使用imap服务器作为中继主机的方案:
relayhost = [imap.server.com]
我们的交换服务器配置为不将邮件从内部主机中继到垃圾邮件网关。 IT 很高兴,脚本有效。