通过SMTP访问发送电子邮件

时间:2015-09-23 14:45:08

标签: vba ms-access smtp

我有以下基本发送对象宏。

Function McrSnapshotCallData()
On Error GoTo McrSnapshotCallData_Err

DoCmd.SendObject acQuery, "Qry_SnapShot", "Excel97-Excel2003Workbook(*.xls)", "xxx@xxx.com", "", "", "Calls", "Please find attached", False, ""


McrSnapshotCallData_Exit:
Exit Function

McrSnapshotCallData_Err:
MsgBox Error$
Resume McrSnapshotCallData_Exit

End Function

我需要能够使用调度程序在服务器上发送运行此宏,以便发送电子邮件。

目前这需要和服务器上的Outlook帐户,它没有。是否可以包含SMTP服务器详细信息,这样就可以自动运行,而不必每晚都登录并发送。

如果可能的话,请你帮我调整一下。

抱歉,我对VBA不太满意。感谢

1 个答案:

答案 0 :(得分:0)

我可以推荐这些工具:

Blat http://www.blat.net/(免费)
Blat是一个Windows(32& 64位)命令行实用程序,它使用SMTP发送电子邮件。

Chilkat ActiveX库:http://www.chilkatsoft.com/email-features.asp(不是免费的,但有更多选项)
MailMan:Chilkat MailMan类负责通过SMTP发送电子邮件和在POP3服务器上接收/管理电子邮件。
Email:代表完整的电子邮件对象。

在这两种情况下,您首先将查询保存为xls(DoCmd.TransferSpreadsheet),然后邮寄该文件。