Linux

通過 cron 發送電子郵件

  • December 28, 2012

我想要一些關於在執行 SQL 查詢後如何最好地發送電子郵件的建議。每天,我都想執行一個 PHP/SQL 腳本來辨識應該發送電子郵件的使用者。執行後,我想給這些使用者發送電子郵件並為每個使用者附加一個文件(這是另一個 PHP/SQL 程序的輸出)。

到目前為止,我的方法是使用 cron 呼叫 php 腳本並將 csv 輸出寫入每個使用者的唯一臨時目錄。但是,我不確定如何最好地通過電子郵件向使用者發送這些數據。

我正在使用 CentOS 伺服器並為我的數據庫使用 PostGreSQL。

最好的方法是通過您的 php 程式碼 ( http://php.net/manual/en/function.mail.php ) 發送郵件。Cron 每個 crontab 條目只能有一個郵件收件人(Override MAILTO for a single crontab entry)。

嘗試郵件:

echo "this is a test mail" | mailx -s "Test mail" you@yourdomain.com

如果這不起作用,則可能您沒有可用的本地郵件伺服器。在這種情況下,安裝 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

引用自:https://serverfault.com/questions/419565