访问VB发送电子邮件更改“从”字段

时间:2014-01-08 13:24:24

标签: outlook access-vba email-integration

我继承了一个Access程序,可以自动从我的电子邮件地址发送大量电子邮件。我们现在想要更改此流程,以便它从我们使用的组电子邮件地址发送它,例如Reporting@zzzz.com。

有两个电子邮箱,我的和一组电子邮件。我试图让Access使用群组电子邮件地址而不是我的地址发送电子邮件,但我没有成功。我已更改Outlook中的默认电子邮件帐户以使用群组电子邮件,但它会继续将电子邮件存入我的草稿文件夹而不是Reporting@zzzz.com的草稿文件夹。

我查看了代码并使用它来发送电子邮件:

Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(0)
With olMail
.Subject = stSubject

等等但是olMail似乎没有可以访问的'.From'字段。

如何更改来自字段?或者让宏识别第二个电子邮箱(我有完全的权利)?

谢谢,

2 个答案:

答案 0 :(得分:2)

这是委托Exchange邮箱吗?尝试设置MAilItem.SentOnBehalfOfName属性。

答案 1 :(得分:2)

我在非委托情况下处理了这个问题 - 多个帐户(Exchange,IMAP)。我创建的任何MailItem都来自我的Exchange帐户,即使IMAP帐户被设置为默认发送。如果你声明这个子:

Sub SetSendingAcct(ByRef mi As Object, strAddress As String)
' mi as Outlook.MailItem

Dim acct As Object 'Outlook.Account
For Each acct In appOutlook.Session.Accounts
    If acct.SmtpAddress = strAddress Then
        Set mi.SendUsingAccount = acct
        mi.Display
        mi.Save ' This makes the change visible in the UI
        Exit For
    End If
Next acct
End Sub

然后您将代码更改为:

Dim strSMTP = "Reporting@zzzz.com"
Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(0)
SetSendingAcct olMail, strSMTP

With olMail
    .Subject = stSubject