web-dev-qa-db-ja.com

fetchmail経由で取得したメールをGmailに転送/リダイレクトする

ターミナルを使用して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]"
2
Amanda

構成で許可されている場合、Sendmail(およびおそらくsendmailssmtpプログラムも)を使用すると、エンベロープ送信者を-fでオーバーライドできます。

これは、Procmailからそれを行うための簡単な方法です。

:0
* ^Return-Path:[    ]*\/[^  ].+
! -f "$MATCH" [email protected]

角括弧内の空白は、任意の順序でスペースとタブにする必要があります。 (上記からのコピー/貼り付けは、ブラウザから正しく機能しない場合があります。)

\/特殊トークンにより、Procmailは、トークンの後にある一致するテキストを変数MATCHにキャプチャします。これを使用して、Return-Path:ヘッダーから値をコピーし、それを引数として-fオプションに渡します。

これは、元のエンベロープ送信者がReturn-Path:ヘッダーで正しく注釈が付けられていることを前提としています。最新のMTAはこれを全面的に行う必要がありますが、アップストリームがMicrosoftの場合、不快な驚きはずが予想されます。

また、エンベロープ送信者の目的を理解する必要があります。これにより、たとえば、バウンスが元の送信者に送信されます。 適切なこの問題の解決策は、メッセージを再配信するのではなく、最終的な宛先に転送することです。

...または、デフォルトとは異なる「送信者」を表示するようにGmailを設定し、代わりにそれに返信します。

(I imagineメッセージを転送するときに転送されたメッセージの送信者ヘッダーは通常保持される必要があるため、エンベロープ送信者について質問していますが、一部のMTAは次の場合にSender:ヘッダーも追加しますFrom:ヘッダーの値またはエンベロープ送信者が上書きされました。質問を更新して、そうでない場合は、どのヘッダーが正確に間違った値になるかを示してください。)

1
tripleee