我继承了一个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'字段。
如何更改来自字段?或者让宏识别第二个电子邮箱(我有完全的权利)?
谢谢,
答案 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