定時發送信件的規畫
到iT邦幫忙

jeric1987(iT邦初學者10級)發問:
目前公司內有一臺Web Server(Linux),資料庫也在此臺Server內,公司將從資料庫撈出符合特定條件之客戶,定時寄發提醒信。請問最簡單的方法,是不是架設DNS Server(目前沒有)加上Postfix(或Sendmail)?

twtw(iT邦高手7級):
你的問題其實是分三個部分:

1. 定時
可在該臺Linux每天執行一個程式。Linux都有定時執行的crontab工具可用。

2. 從資料庫撈出符合條件之客戶
重點在於這個「程式腳本」(script),能夠先設好從資料庫抓資料的條件,抓到資料後,再把各客戶的資訊,塞到信件的template中發信。

3. 寄發提醒信
而這個寄信的動作,可由自己的的郵件伺服器去寄,若本身沒有郵件伺服器,那個「程式腳本」其實可以丟給可幫你的公司IP寄信的外寄郵件伺服器,所以不一定要架設郵件伺服器。

以上來看,重點是第二點。你的資料庫可能是MySQL,至於怎麼抓出一定條件的資料,只要在Linux可以執行的程式語言都可以,像Shell Script,PHP,Perl,Ruby,Python,Java等,就看要幫你們寫程式的人熟哪種語言。抓出資料庫的資料,對各個程式語言而言,都是很基本的應用。

要把個別的信件發出,一方面要測試發出的信會不會有亂碼,另外若信件量大,也要避免被當垃圾信處理或成為拒絕往來戶。需要考慮的,大概就是上面這些。

chang0206(iT邦初學者8級):
1.如果只是要寄信,用原本的郵件伺服器就好了。主要的問題是用來開發程式的語言,需要加裝個SMTP的功能,PHP好像本來就有支援,ASP可以找jmail來使用。

2.怎麼去資料庫撈資料,和郵件伺服器沒有關係。

3.程式完成後,用Crontab每天自動去執行程式(例如PHP)就可以了。

我們也有類似的功能,自動去資料庫撈出當天生日的客戶寄出賀卡。因為量不大,所以我使用原有的郵件伺服器就夠了。除非一天要發個幾千、幾萬封,再考慮獨立架設郵件伺服器吧。

熱門新聞

Advertisement