iT邦幫忙

2

實現自動化報表mail定期寄送

請較高手們

最近接到主管的命令,希望在接下來幾個月內,作一個營收報表的每日mail寄送
在程式方面算新手,勉強看的懂,編碼算新手
所以算是莫名其妙接了一個屎任務

首先我將這件事情拆開為兩件事
1.報表
2.自動mail寄送

報表方面就不勞駕高手了,data已有現成的excel檔
應該就是想辦法把data轉成html的框框格式,這部份我再慢慢摸索
甚至用xls的夾帶發送也是可以的

但自動mail寄送我就完全摸不著概念了
公司是使用exchange
報表的收件人也都是內部的同事
但在網路上找的一些教學範例,都是用gmail來作示範,有嘗試著更改一些參數,但都無作用
我是使用最簡單的vb來做測試
將一些ip跟mail帳密改成公司的參數,但無效

有請教過公司前輩(其它系統已有此功能)
但公司寫程式的跟MIS,是不同人
但網管不懂程式,也不明白程式人員是怎寫的
程式人員也說挺含糊(可能是有點想藏私,我也不好意思繼續往下問)
當然更不好意思直接請他讓我看程式碼...那我大該就知道使怎運作的了

請問要實現自動mail寄送,該如何開始?
目前是完全無概念阿....

ayu iT邦好手 2 級 ‧ 2017-02-28 04:07:54 檢舉
把產生後的報表放在FileServer特定目錄,
讓指定人員可以讀取該目錄報表就好啦,
既然只內部參考, 何必一定要送信呢?
ahwachen iT邦新手 4 級 ‧ 2017-02-28 19:00:29 檢舉
一、網路有個 SendMail 1.2 syntax 的軟件
自己寫成 Bat 檔案,放入排程自動執行
可以按照設定好的參數:
SMTP主機/收件者/寄件者/主旨/內容/發信主機PORT/夾檔路徑檔名/寄件者帳號/密碼,等資訊,送出郵件

二、SQL,也有自動發送 Report 的功能,自己網路找找,應該不難找
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
sam0407
iT邦大師 1 級 ‧ 2017-02-28 08:14:16
最佳解答

看起來您是較偏硬體維運的人員,公司用的也是微軟的環境,那我建議您學一下PowerShell這個工具。
Google一下Powershell mail,第一個連結指向MSDN,看了一下內容及範例,應該可以解決您的問題
https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/send-mailmessage

感謝,最後我選擇此種做法

1
bizpro
iT邦大師 1 級 ‧ 2017-02-27 14:55:38

找一個VB的實例給您參考:
http://stackoverflow.com/questions/5175926/how-to-connect-visual-basic-net-with-microsoft-exchange-with-free-libraries-pos

基本觀念是:

  1. 寄件主機SMTP, 也就是Exchange Server, 需要四個參數:
    1). Exchange SMTP的 IP 和 埠, 如25, 587.
    2). 寄件者的Credential, 即郵件帳號和密碼.

2.郵件, 其組成為: From, To, Subject, Data/Body

2

可以下關鍵字查找
Powershell+mail

http://epaper.gotop.com.tw/PDFSample/ACA019400.pdf
提供一個可參考的PDF

jeles51 iT邦研究生 3 級 ‧ 2017-03-01 11:05:25 檢舉

在下也是用POWERSHELL在公司內部定期自動寄信,不錯用~!!

1
kuang001
iT邦新手 3 級 ‧ 2017-02-28 08:23:25

建議: 也可採用 SendEmail 這 ap 搭配 dos 批次檔,用 Windows 內建排程定時派送.
下載位置:
http://caspian.dotconf.net/menu/Software/SendEmail/#download

這可以不用寫程式,就可以達到所需功能.(看你日後如何應用!)

5
eigen
iT邦新手 1 級 ‧ 2017-02-28 14:19:01

蝦米程式都不用寫

一、Taskschd.msc ,練習一下,如何設定 工作排程器(讓這個程序定時執行『某個程序』
二、google blat,下載、安裝,並測試,學一下如何用blat 來發送email

blat -subject "blat stunnel test" -body "go go go!!!" -server 127.0.0.1:25 -u username -pw password -debug -log blat.lst -timestamp -to haochinh@gmail.com -attach report.xls

三、將blat 指令寫成 *.bat ,讓系統排程定時執行 *.bat ,就能達到你的需求

1
souda
iT邦好手 1 級 ‧ 2017-03-01 09:49:26

MSDN 有很明確的說明元件使用方式唷.
https://msdn.microsoft.com/zh-tw/library/system.net.mail.mailmessage(v=vs.110).aspx
請樓主細心閱讀一下吧..!!

我要發表回答

立即登入回答