特定の状況下でのみ Outlook メールを外部に自動転送する

特定の状況下でのみ Outlook メールを外部に自動転送する

提供されているVBAコードに変更を加えることはできますか?この応答以前の投稿から、すべてのメールを転送するのではなく、特定のメールアドレスからのメールのみを転送する機能はありますか?基本的には、Outlookの自動転送ルールを模倣し、[メールアドレス]送られますか?

私は、*サーバーの自動転送の無効化をバイパスする* ために、いくつかの VBA スクリプトを作成しました。基本的に、サーバーが自動転送を行うのではなく、ユーザーが電子メールを転送することを模倣します。詳細な手順を説明することはこの投稿の範囲を超えていますが、要約は次のとおりです。

OutlookのVisual Basicエディタで上記のコードを追加します(Alt-F11で開始できます)。[メールアドレス]メールを送りたい住所に

Outlook に、受信メッセージごとにこのコードを実行するように指示します ([ツール] -> [仕分けルールと通知] -> [新しいルール] -> [メッセージが到着したら確認する] -> [次へ] -> [はい] -> [スクリプトを実行する] チェックボックス -> 作成したスクリプトを選択します)。

これで、Outlook は受信した各メールを自動的に転送するようになりますが、管理者によって「自動転送」としてブロックされることはありません。

コード:

Sub AutoForwardAllSentItems(Item As Outlook.MailItem)
Dim strMsg As String
Dim myFwd As Outlook.MailItem

Set myFwd = Item.Forward

myFwd.Recipients.Add "[email protected]"
myFwd.Send
Set myFwd = Nothing 
End Sub

答え1

ifを使って文を追加してみましょう送信者アドレス-

Sub AutoForwardAllSentItems(Item As Outlook.MailItem)
Dim strMsg As String
Dim myFwd As Outlook.MailItem

Set myFwd = Item.Forward

If myFwd.Sender = "[email protected]" then
myFwd.Recipients.Add "[email protected]"
myFwd.Send
End if

Set myFwd = Nothing 
End Sub

あるいは、もっと簡単な方法は、ルールを設定する:

Outlook に、受信メッセージごとにこのコードを実行するように指示します ([ツール] -> [仕分けルールと通知] -> [新しいルール] -> [メッセージが到着したら確認する] -> [次へ] -> [はい] -> [スクリプトを実行する] チェックボックス -> 作成したスクリプトを選択します)。

Outlookにコードを実行するように指示するだけですメッセージが特定のアドレスから送信された場合

関連情報