发送带有附件的自动邮件

时间:2018-11-20 13:11:40

标签: powershell email batch-file automation

每天凌晨5点,我都会收到一个.txt日志,我希望将其发送给我们的一位代表。我是上午9点到达办公室的,那时候太晚了。它也不能早于凌晨4点发送,因此不可能在前一天发送。

现在我在这里和那里进行了一些研究,但是找不到真正有用的东西,我想制作一个脚本(批处理,powershell之类的东西),该脚本需要一个日志并将其每天发送到mail@address.com。我尝试了例如smtpsend

SMTPSend.exe -fsender@address.com -trecipient@address.com -hexchangeserver.domain.com -sTest -aC:/Logs/testlog.log

但是它只是喷出了这个错误:

Error: Temporary message handling problem [61]

任何人都可以在不编写整个程序的情况下帮助我吗?这有可能吗?

1 个答案:

答案 0 :(得分:1)

我发布了here并从先前的答案中复制了代码,并对其进行了修改,以便与附件一起使用:

注意!必须是Powershell 2.0或更高版本。

powershell Send-MailMessage 
           -From "someone@someserver.net"
           -To "whoever@gmail.com"
           -Subject "Test email"
           -Body "This is a test"
           -SmtpServer Some_exhange_server_name\
           -Attachments "c:\my files\file.log"

出于可读性考虑,我使用换行符对文本进行了分解,但应该是一行。

powershell Send-MailMessage -From "someone@someserver.net" -To "whoever@gmail.com" -Subject "Test email" -Body "This is a test" -SmtpServer some_exhange_server_name -Attachments "c:\my files\file.log"

或者,您可以跳过所有批处理,而仅创建一个名为sendmail.ps1之类的powershell文件并输入代码

Send-MailMessage -From "someone@someserver.net" -To "whoever@gmail.com" -Subject "Test email" -Body "This is a test" -SmtpServer some_exhange_Server_name -Attachments "c:\my files\file.log"