0

Outlook アカウントに 1 つの Outlook メールを設定しています。たとえば、「example@xxx.com」とします。

私は別の「電子メール アカウント」、たとえば「alias@zzz.net」を持っていますが、これは私の @xxx.com アカウントへのポインターにすぎません。

Outlook には、[差出人] フィールドに入力する機能以外に、ポインター アカウントの設定はありません。@xxx.com と @zzz.net の間で差出人フィールドを手動で変更するように Outlook を設定しています。

私の @xxx.com 電子メールは実際の電子メールであるため、Outlook は既定で [差出人] フィールドにその電子メールを使用します。私はこれが逆であることを望みます。つまり、私が送信するすべての電子メールの From フィールドに「alias@zzz.com.

私は次のコードで試みました:

Public WithEvents myItem As Outlook.MailItem

Private Sub Application_ItemLoad(ByVal Item As Object)
    If (TypeOf Item Is MailItem) Then
        Set myItem = Item
    End If
End Sub

Private Sub FromField()
    With myItem
        .SentOnBehalfOfName = "alias@zzz.com"
        .Display
    End With
End Sub

Private Sub myItem_Open(Cancel As Boolean)
    FromField
End Sub

FromField サブを Application_ItemLoad に配置しても機能しませんでした。

4

2 に答える 2

0

それはできません。Exchange は、送信メッセージを送信するときに常にプライマリ SMTP アドレスを使用します。プロキシ アドレスの 1 つとして送信する唯一の方法は、SMTP を介して送信することです。ダミーの POP3/SMTP アカウントを作成する (POP3 がメッセージをダウンロードしないようにする) か、Proxy Managerを使用できます。プロキシ マネージャーは、Outlook に直接インストールされ、内部で SMTP を透過的に使用します。

オプションの一覧については、http://www.msoutlook.info/question/send-mail-from-additional-exchange-address-or-aliasを参照してください。

于 2015-10-25T05:17:23.387 に答える
0

MailItem クラスのSendUsingAccountプロパティを使用して、 MailItemを送信するアカウントを表す Account オブジェクトを設定する必要があります。

Sub SendUsingAccount() 
 Dim oAccount As Outlook.account 
 For Each oAccount In Application.Session.Accounts 
  If oAccount.AccountType = olPop3 Then 
   Dim oMail As Outlook.MailItem 
   Set oMail = Application.CreateItem(olMailItem) 
   oMail.Subject = "Sent using POP3 Account" 
   oMail.Recipients.Add ("someone@example.com") 
   oMail.Recipients.ResolveAll 
   oMail.SendUsingAccount = oAccount 
   oMail.Send 
  End If 
 Next 
End Sub 

SentOnBehalfOfNameプロパティは、Exchange アカウントの場合にのみ意味がありますさらに、他のアカウントに代わってメールを送信する権限が必要です。

于 2015-10-25T20:22:54.347 に答える