2014-01-08 31 views
0

我繼承了一個Access程序,該程序會自動從我的電子郵件地址發送一些電子郵件。我們現在要更改此流程,以便它可以從我們使用的電子郵件地址發送,例如[email protected]訪問VB發送電子郵件更改「from」字段

有兩個電子郵箱,我的和一組電子郵件。我試圖讓Access使用羣組電子郵件地址發送電子郵件,而不是我的地址,但我沒有成功。我已將Outlook中的默認電子郵件帳戶更改爲使用羣組電子郵件,但它仍將電子郵件存入我的草稿文件夾,而不是[email protected]的草稿文件夾。

我已經看過了代碼,並使用此做出電子郵件:

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

etc.etc但olMail不會出現有一個「從」字段訪問。

如何更改from字段?或者讓宏認出第二個電子郵箱(我有充分的權利)?

謝謝,

回答

2

這是一個委託Exchange郵箱嗎?嘗試設置MAilItem.SentOnBehalfOfName屬性。

+0

這工作謝謝!添加 .SentOnBehalfOfName =「[email protected]」 似乎已經工作。 – KrisErickson

1

我已經在非委託情況下處理了這個問題 - 多個帳戶(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 = "[email protected]" 
Set olApp = CreateObject("Outlook.Application") 
Set olMail = olApp.CreateItem(0) 
SetSendingAcct olMail, strSMTP 

With olMail 
    .Subject = stSubject