ターミナルを使用してMacを使用しています。メールを仕事用メールからGmailにリダイレクトしようとしています(仕事用メールではIMAPのみが許可され、GmailはPOPからのみフェッチできるため回避策です)。
仕事用メールからメールを取得するようにfetchmailを正常に構成しました。
到着したときに元の送信者から到着したように見えるように(そして返信できるように)、Gmailにリダイレクトしたいと思います。
次の構成でprocmailとssmtpの両方を試しました。どちらの場合も、メールはGmailの受信トレイに届きますが、元の送信者ではなく、MEmyusername @ gmail.comから送信されたようです。
助言がありますか?私はこれで非常に新しいです。 procmailまたはssmtpを使用した提案を歓迎します(またはそれが他に機能するかどうか!)
procmailセットアップ
.fetchmailrcファイル:
set no bouncemail
poll Outlook.office365.com with protocol imap
port 993
auth password
user [email protected] password password
ssl
sslfingerprint "<Correct Fingerprint - not sure if I should copy this here>"
sslcertpath /Users/myuser/.certs
keep
no rewrite
mda "/usr/local/bin/procmail -f %F -d %T";
.procmailrcファイル
VERBOSE=yes
:0
! [email protected]
(ここでの私の答えに従って、私のGmailから送信するように設定されたsendmailを使用して: procmailを使用してGmailに転送する )
ssmtpセットアップ
/opt/local/etc/ssmtp/ssmtp.confファイル
[email protected]
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=localhost
UseTLS=Yes
UseSTARTTLS=Yes
[email protected]
AuthPass=Hunter2
FromLineOverride=yes
(ルート行なしで、rewriteDomain = gmail.comを使用して試しました)
.fetchmailrcファイル。mda行が次のようになっていることを除いて、上記と同じです。
mda "/opt/local/sbin/ssmtp [email protected]"
構成で許可されている場合、Sendmail(およびおそらくsendmail
のssmtp
プログラムも)を使用すると、エンベロープ送信者を-f
でオーバーライドできます。
これは、Procmailからそれを行うための簡単な方法です。
:0
* ^Return-Path:[ ]*\/[^ ].+
! -f "$MATCH" [email protected]
角括弧内の空白は、任意の順序でスペースとタブにする必要があります。 (上記からのコピー/貼り付けは、ブラウザから正しく機能しない場合があります。)
\/
特殊トークンにより、Procmailは、トークンの後にある一致するテキストを変数MATCH
にキャプチャします。これを使用して、Return-Path:
ヘッダーから値をコピーし、それを引数として-f
オプションに渡します。
これは、元のエンベロープ送信者がReturn-Path:ヘッダーで正しく注釈が付けられていることを前提としています。最新のMTAはこれを全面的に行う必要がありますが、アップストリームがMicrosoftの場合、不快な驚きはずが予想されます。
また、エンベロープ送信者の目的を理解する必要があります。これにより、たとえば、バウンスが元の送信者に送信されます。 適切なこの問題の解決策は、メッセージを再配信するのではなく、最終的な宛先に転送することです。
...または、デフォルトとは異なる「送信者」を表示するようにGmailを設定し、代わりにそれに返信します。
(I imagineメッセージを転送するときに転送されたメッセージの送信者ヘッダーは通常保持される必要があるため、エンベロープ送信者について質問していますが、一部のMTAは次の場合にSender:
ヘッダーも追加しますFrom:
ヘッダーの値またはエンベロープ送信者が上書きされました。質問を更新して、そうでない場合は、どのヘッダーが正確に間違った値になるかを示してください。)