使用SMTP配置发送自动Outlook电子邮件时指定发件人

时间:2019-08-02 03:06:58

标签: excel vba outlook smtp

我需要从SMTP服务器发送一封电子邮件,因此它来自"Automated Notification <NoReplyEmail@agit.com>"

我尝试浏览发送带有该“发件人”地址的电子邮件的方法。显然,SMTP是一种方法。如何使用Outlook连接它?

在使用CDO之前,我已经这样做了。有什么办法可以将其修改为Outlook?

Dim iCfg As CDO.Configuration
Set iCfg = New CDO.Configuration

With iCfg
    .Fields(cdoSMTPServer) = "sgp.smtp.agit.com"
    .Fields(cdoSMTPServerPort) = 25
    .Fields(cdoSendUsingMethod) = cdoSendUsingPort
    .Fields(cdoSMTPConnectionTimeout) = 200
    .Fields.Update
End With

Set .Configuration = iCfg

还有其他方法可以获取"Automated Notification <NoReplyEmail@agit.com>"作为发件人地址吗?

1 个答案:

答案 0 :(得分:0)

我还没有看到在其中添加From参数的代码以及实际发送emial的代码。
但是根据我在CDO上的经验,您将需要一个CDO.Message对象。
所以试试这个:

Dim cdoMsg AS CDO.Message
Set cdoMsg = CreateObject("CDO.Message")

With cdoMsg
  Set .Configuration = iCfg       '// from the code snipped in the question above
  .From = "NoReplyEmail@agit.com" '// you only need to set this parameter
  .To = "someone@someweb.com"
  .Subject = "Your Subject"
  .TextBody = "Sample Text"
  .Send
End With

请注意,除非在服务器上设置了SMTP的别名,否则无法放置它。因此,即使您像这样设置From参数:

.From = """Automated Notification"" <NoReplyEmail@agit.com>"

别名在接收邮件时不会出现。