我想获得一些关于如何在运行 SQL 查询后最好地发送电子邮件的建议。每天,我都想运行一个 PHP/SQL 脚本来识别应该发送电子邮件的用户。运行此脚本后,我想向这些用户发送电子邮件并为每个用户附加一个文件(这是另一个 PHP/SQL 进程的输出)。
到目前为止,我的方法是使用 cron 调用 php 脚本并将 csv 输出写入每个用户的唯一临时目录。但是,我不确定如何最好地通过电子邮件向用户发送这些数据。
我正在使用 CentOS 服务器并使用 PostGreSQL 作为数据库。
答案1
最好的方法是通过你的 php 代码发送邮件(http://php.net/manual/en/function.mail.php)。Cron 的每个 crontab 条目只能有一个邮件收件人(覆盖单个 crontab 条目的 MAILTO)。
答案2
尝试 mailx:
echo "this is a test mail" | mailx -s "Test mail" [email protected]
如果这不起作用,可能是您没有可用的本地邮件服务器。在这种情况下,请安装 ssmtp 包并配置/etc/ssmtp/ssmtp.conf
。您需要提供一个真实的邮件服务器和本地域名:
#
# /etc/ssmtp.conf -- a config file for sSMTP sendmail.
root=postmaster
# The place where the mail goes.
mailhub=mail.yourdomain.com
# Where will the mail seem to come from?
rewriteDomain=yourdomain.com
# The full hostname
hostname=server.yourdomain.com
答案3
正如您所说,它是 PHP/SQL 脚本,您可以使用 php 邮件功能发送电子邮件。您还可以附加您生成的文件。
这里介绍如何使用 PHP 发送电子邮件:
http://www.finalwebsites.com/forums/topic/php-e-mail-attachment-script
如果您要发送大量邮件并且需要进行优化,请阅读以下文章:
http://www.activecampaign.com/help/how-to-optimize-your-server-mail-server-and-software/