iT邦幫忙

0

Linux下發送mail疑問?

  • 分享至 

  • xImage

請教各位大大

小弟知道Linux下可使用mail指令發送
但Linux下是否有像outlook一樣可程式化的軟體呢?
如果能像用COM來呼叫outlook寄信
這樣大量發送時,就很容易檢查得知有哪些人沒收到
或是等Report統一產生完後,再發送

還請各位幫幫小弟,謝謝!

phpList

1.用 php 寫的
2.免費
3.open source
wiseguy iT邦超人 1 級 ‧ 2011-11-29 10:22:40 檢舉
SMTP 的發信機制,只能確保『有發給誰』。
因為你能成功發信給對方,並不代表對方一定收得到你的信。
除非你可以控管到收信的主機 (比如這是公司內部的 mail 發送系統),要不然『得知有哪些人沒收到』是不太可能做到的。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
4
逮丸逮丸
iT邦大師 1 級 ‧ 2011-11-29 10:16:22
最佳解答

從你的問題中,
一時無法確認:
是要用使用者還是管理者的立場?
真正想要什麼功能?
可以根據 MUA或MTA,
找相對應的軟體,
來進行相關的設定或開發
參閱:郵件的傳送流程、MUA、MTA、MDA

從你題意上,
outlook只是EndUser的角色使用,
而你希望的

但Linux下是否有像outlook一樣可程式化的軟體呢?
如果能像用COM來呼叫outlook寄信


Building Outlook 2002 Add-ins with Visual Basic .NET
如何使用 Visual Basic.NET 建置為 Office COM 增益集
來看,是就 MUA 上的功能做加強,
應不致於跨到 MTA 要做的事情。

這樣大量發送時,就很容易檢查得知有哪些人沒收到
或是等Report統一產生完後,再發送

(也不知這大量發送,是全部本機?
還是有對外部其他server的收件者?
前者的話,就多了 MDA 的功能上可考量,
後者的話,卻又只是 MTA 的議題)
大量發送

看不出你的重點在Linux上,
是要處理大量發信,
獲得處理結果的議題?
還是
Mail client 是否可隨需要
加入相對應的功能?

在 Linux 上,
要定義清楚是一般使用者,
還是管理者的角色來解決問題。
切入的角度會有所不同。

如果想知道Linux上的mail client,
可不可以自己寫加強版的功能?
Mutt
Third Party Patches
可參考怎麼去改原始碼,
重新編譯新的 Mutt 來使用。
或者
Useful Add-Ons and Helper Programs
第三方外部程式,
增加所需功能。

如果重點是發大量信的回應報告問題,
就得了解一下Linux上的 MUA, MTA, MDA 各有何應用軟體,
看要用什麼程式語言,
來組合出最佳方案。

tiqit iT邦新手 5 級 ‧ 2011-11-29 12:04:14 檢舉

Dear twtw大大 :

其實想要完成的功能很簡單
從公司的DataBase抓資料回來
做分析處理後,存成一份報告檔
並將此份報告寄給相關人員
此外,公司內部已經有Mail Server

我目前的做法是抓回資料後
分析處理存成一份xlsx檔
透過呼叫Outlook的方式
將mail address與附件丟給Outlook
自動會進Outlook的寄件匣內
在一次寄出
會想使用Outlook
是因為只要設定一次mail server
透過Outlook,也好掌握寄送後的結果

所以,應該是大大所說的MUA的功能
另一方面
公司已有mail server(應該就是所謂的MTA了)
應該不需要在自己弄一台mail server了吧?

tiqit提到:
抓回資料後
分析處理存成一份xlsx檔

只能手動完成?還是能寫成script自動定時完成?
一定要excel的格式?還是csv也可以?
若是非windows環境不可才可讀的檔案格式,
就只能在windows的環境進行,
而需用autoit或vbscript或powershell
來寫成自動化的程序完成。

2.結果寄給一特定名單:
在windows環境,用上述的工具也可完成;
若linux環境,自動寄出附件,
也並不會太困難。

3.掌握寄送後的結果:
這是mail server的事,
只要指定好寄件者,
在用戶端立場,沒什麼掌握的議題,
沒消息是好是,表示已寄出成功,
寄不成功才會有退信到寄件者帳號。
mail client 只能被動接收訊息。

2
sula3065408
iT邦研究生 1 級 ‧ 2011-11-30 13:08:28

試試看,我個人是用perl寫,底下是用bash寫的

<pre class="c" name="code">
(cat <<EOCAT
Subject: Title of the email
MIME-Version: 1.0
Content-Type: text/html
Content-Disposition: inline
EOCAT
cat htmlfile.html) | sendmail toemail@hollyghozi.com

樓主要寄的檔案是xlsx,
非文字格式的檔案應無法順利以附件方式寄出。
若要用perl來寄,
可透過 MIME::Lite 來完成:
http://www.akadia.com/services/email_attachments_using_perl.html
適用在要根據不同收件者、不同內容的時候,
透過perl的語法比較容易調整。

如果不像上述複雜的情況,
用現成的工具mutt就可完成:
Sending email or mail with attachment from command or shell prompt

2
riches88
iT邦研究生 3 級 ‧ 2011-12-01 00:13:04

上面的答案都太利害了,我只能推薦套裝軟體比較快
也可以備份、稽核郵件等。大概想的道功能都有
可以下載試試看 :
瑞鑫資訊 MX MAIL SERVER LIVE KEY
http://www.richesinfo.com.tw

我要發表回答

立即登入回答