我想就运行SQL查询后如何最好地发送电子邮件提供一些build议。 我每天都想运行一个PHP / SQL脚本来识别应该通过电子邮件发送的用户。 运行后,我想通过电子邮件发送这些用户,并为每个用户附加一个文件(这是另一个PHP / SQL进程的输出)。
到目前为止,我的方法是使用使用cron调用php脚本,并将csv输出写入每个用户的唯一临时目录。 但是,我不确定如何最好地向用户发送这些数据。
我正在使用CentOS服务器,并为我的数据库使用PostGreSQL。
最好的方法是通过您的PHP代码发送邮件( http://php.net/manual/en/function.mail.php )。 Cron每个crontab条目只能有一个邮件收件人( 对一个crontab条目覆盖MAILTO )。
尝试mailx:
echo "this is a test mail" | mailx -s "Test mail" [email protected]
如果这不起作用,也许你没有本地邮件服务器可用。 在这种情况下,请安装ssmtp软件包,并configuration/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
正如你所说,它的PHP / SQL脚本你可以使用php的邮件function发送邮件。 您也可以附加您生成的文件。
在这里,您可以如何使用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/