これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドfetchmailです。
プログラム:
NAME
fetchmail-POP、IMAP、ETRN、またはODMR対応サーバーからメールをフェッチします
SYNOPSIS
フェッチメール [オプション...] [メールサーバー...]
fetchmailconf
DESCRIPTION
フェッチメール メールの取得と転送のユーティリティです。 リモートからメールを取得します
メールサーバーを作成し、ローカル(クライアント)マシンの配信システムに転送します。 あなたはできる
次に、次のような通常のメールユーザーエージェントを使用して、取得したメールを処理します。 突然(1) エルム(1)または
Mail(1) の フェッチメール ユーティリティをデーモンモードで実行して、XNUMXつ以上を繰り返しポーリングできます。
指定された間隔のシステム。
この フェッチメール プログラムは、一般的なメールのいずれかをサポートするサーバーからメールを収集できます-
検索プロトコル:POP2(レガシー、将来のリリースから削除予定)、POP3、IMAP2bis、
IMAP4、およびIMAP4rev1。 ESMTPETRN拡張機能とODMRを使用することもできます。 (RFC
これらすべてのプロトコルの説明は、このマニュアルページの最後にリストされています。)
一方、 フェッチメール 主にオンデマンドTCP/IPリンク(SLIPなど)で使用することを目的としています
またはPPP接続)、それはまた、サイトのメッセージ転送エージェントとして役立つかもしれません
セキュリティ上の理由から、sendmailを使用した(送信者が開始した)SMTPトランザクションを許可することを拒否します。
サポート、 トラブルシューティング
トラブルシューティング、トレース、およびデバッグのために、fetchmailの冗長性を次のように増やす必要があります。
実際に何が起こるかを見てください。 そのためには、実行してください 両言語で of 2 フォロー中 コマンド、
追加 を of オプション あなたがしたい 通常は 使用しています。
env LC_ALL = C fetchmail -V -v --nodetach --nosyslog
(このコマンドラインは、fetchmailが構成をどのように理解するかを英語で出力します。)
env LC_ALL = C fetchmail -vvv --nodetach --nosyslog
(このコマンドラインは、実際には詳細な英語出力でfetchmailを実行します。)
fetchmailのFAQの項目#G3も参照してください⟨http://fetchmail.berlios.de/fetchmail-FAQ.html#G3⟩
ローカル言語で出力する場合は、上記のLC_ALL =Cの部分を省略できます(
サポートされています)。 ただし、メーリングリストに投稿する場合は、そのままにしておいてください。
メンテナは必ずしもあなたの言語を理解しているわけではありません。英語を使用してください。
コンセプト
If フェッチメール POPまたはIMAPサーバーで使用されます(ETRNまたはODMRでは使用されません)。XNUMXつあります。
メールを取得する各ユーザーアカウントの基本的な操作モード:
シングルドロップ - と マルチドロップ-モード。
シングルドロップモードでは、
フェッチメール ユーザーのアカウント(メールボックス)内のすべてのメッセージが意図されていることを前提としています
単一の受信者の場合。 受信者のIDは、デフォルトで
現在実行中のローカルユーザー フェッチメール、または明示的に指定する必要があります
構成ファイルで。
フェッチメール fetchmailrc構成に最大で含まれている場合にsingledropモードを使用します
特定のサーバーアカウントの単一のローカルユーザー仕様。
マルチドロップモードでは、
フェッチメール メールサーバーアカウントに、
任意の数の異なる受信者。 したがって、 フェッチメール 推論を試みる必要があります
各メッセージのメールヘッダーからの適切な「エンベロープ受信者」。 これで
動作モード、 フェッチメール メール転送エージェント(MTA)にほとんど似ています。
POPプロトコルもIMAPプロトコルも、この方法での使用を目的としていないことに注意してください。
したがって、エンベロープ情報は直接入手できないことがよくあります。 ISPは
エンベロープ情報をメッセージヘッダーに保存します と。 ISPはまた保存する必要があります
受信者ごとにメッセージのXNUMXつのコピー。 いずれかの条件が満たされていない場合
実行されると、このプロセスは信頼できなくなります。 フェッチメール その後、に頼る必要があります
メッセージの真のエンベロープ受信者を推測します。 これは通常失敗します
メーリングリストメッセージとBcc:dメール、または
ドメイン。
フェッチメール 複数のローカルユーザーおよび/またはワイルドカードが
構成ファイルで特定のサーバーアカウントに指定されます。
ETRNおよびODMRモードでは、
これらのプロトコルはSMTPに基づいているため、これらの考慮事項は適用されません。
明示的なエンベロープ受信者情報を提供します。 これらのプロトコルは常にサポートします
複数の受信者。
各メッセージが取得されると、 フェッチメール 通常、SMTP経由でポート25に配信します
通常の上に渡されているかのように、それが実行されているマシン(localhost)
TCP/IPリンク。 フェッチメール SMTPサーバーにで派生したエンベロープ受信者を提供します
前述の方法。 その後、メールはMTAに従って配信されます。
ルール(メール転送エージェントは通常 sendmail(8) exim(8)、または postfix(8))。 呼び出す
システムのMDA(メール配信エージェント)はMTAの義務です。 すべての配達管理
メカニズム(など 。前方 ファイル)通常、システムMTAおよびローカルから利用可能
したがって、配達業者は通常通り適用されます。
fetchmail構成でローカルMDAが設定されている場合(--mdaオプションを参照)、それが使用されます
SMTPをポート25と通信する代わりに直接。
プログラムの場合 fetchmailconf が利用可能である場合、それはセットアップと編集を支援します
fetchmailrc構成。 Xウィンドウシステムで実行され、
言語PythonとTkツールキット(Pythonバインディング付き)がシステムに存在します。 もしも
最初にシングルユーザーモード用にfetchmailを設定する場合は、次を使用することをお勧めします。
初心者モード。 エキスパートモードでは、次のようなフェッチメール構成を完全に制御できます。
マルチドロップ機能。 どちらの場合でも、[自動プローブ]ボタンが最も多くのことを教えてくれます
特定のメールサーバーがサポートする対応プロトコル、およびそれに関する潜在的な問題について警告する
サーバー。
全般的な OPERATION
の動作 フェッチメール コマンドラインオプションと実行制御ファイルによって制御されます。
〜/ .fetchmailrc、後のセクションで説明する構文(このファイルは
fetchmailconf プログラム編集)。 コマンドラインオプションのオーバーライド 〜/ .fetchmailrc 宣言。
コマンドラインのオプションに従って指定する各サーバー名は次のようになります。
照会されました。 コマンドラインでサーバーを指定しない場合、各'poll'エントリは
〜/ .fetchmailrc ファイルが照会されます。
の使用を容易にするため フェッチメール スクリプトとパイプラインでは、適切な値を返します
終了時の終了コード-以下の終了コードを参照してください。
次のオプションは、の動作を変更します フェッチメール。 指定する必要はほとんどありません
あなたが働いたらこれらのいずれか .fetchmailrc ファイルを設定します。
ほとんどすべてのオプションには、対応するキーワードがあり、これを使用して、
.fetchmailrc ファイルにソフトウェアを指定する必要があります。
いくつかの特別なオプションはここではカバーされていませんが、代わりに次のセクションで文書化されています
以下の認証とデーモンモード。
オプション
-V | - バージョン
のコピーのバージョン情報を表示します フェッチメール。 メールフェッチはありません
実行されます。 代わりに、指定されたサーバーごとに、
次の場合に計算されます フェッチメール そのサーバーに接続していたことが表示されます。 どれでも
パスワードまたはその他の文字列名で印刷できないものは、バックスラッシュCのように表示されます
エスケープシーケンス。 このオプションは、オプションが設定されていることを確認するのに役立ちます
あなたがそれらを望む方法。
-c | - チェック
実際にメールを待機していないかどうかを示すステータスコードを返します
メールのフェッチまたは削除(以下の終了コードを参照)。 このオプションはデーモンをオフにします
モード(それは役に立たないでしょう)。 複数のクエリではうまく機能しません
サイト、およびETRNまたはODMRでは動作しません。 次の場合は誤検知が返されます
既読であるが削除されていないメールをサーバーのメールボックスに残しておくと、フェッチプロトコルはできません
新しいメッセージから保持されたメッセージを伝えます。 これは、IMAPで機能し、では機能しないことを意味します
POP2、およびPOP3の下でときどきフレークアウトする場合があります。
-s | - 静けさ
サイレントモード。 通常はエコーされるすべての進行状況/ステータスメッセージを抑制します
フェッチ中の標準出力(ただし、実際のエラーメッセージは抑制されません)。 The
--verboseオプションはこれをオーバーライドします。
-v | -詳細
冗長モード。 間で渡されるすべての制御メッセージ フェッチメール とメールサーバーは
stdoutにエコーしました。 --silentをオーバーライドします。 このオプションをXNUMX倍にすると(-v -v)、余分なものが発生します
印刷する診断情報。
--ソフトバウンスなし
(v6.3.10以降、キーワード:v6.3.10以降、ソフトバウンスを設定しない)
ハードバウンスモード。 すべての永続的な配信エラーにより、メッセージはから削除されます
アップストリームサーバーについては、以下の「ソフトバウンスなし」を参照してください。
-ソフトバウンス
(v6.3.10以降、キーワード:v6.3.10以降のソフトバウンスを設定)
ソフトバウンスモード。 すべての永続的な配信エラーにより、メッセージが
プロトコルがそれをサポートしている場合は、アップストリームサーバー。 この オプション is on by デフォルト 〜へ
match 歴史的 フェッチメール ドキュメンテーション、 でハードバウンスモードに変更されます
次のfetchmailリリース。
処分 オプション
-a | - すべて | (以来 v6.3.3) --fetchall
(キーワード:fetchall、v3.0以降)
メールサーバーから古い(表示された)メッセージと新しいメッセージの両方を取得します。 デフォルトは
サーバーが表示済みとマークしていないメッセージのみをフェッチします。 POP3では、このオプションも
TOPではなくRETRの使用を強制します。 POP2の取得はあたかも動作することに注意してください
--allは常にオンであり(以下の検索失敗モードを参照)、このオプションはオンになりません。
ETRNまたはODMRを使用します。 -aおよび--allコマンドラインおよびfetchallrcfile
オプションは長い間サポートされてきましたが、-fetchallコマンドラインオプションは
v6.3.3で追加されました。
-k | - 保つ
(キーワード:キープ)
取得したメッセージをリモートメールサーバーに保存します。 通常、メッセージは削除されます
それらが取得された後、メールサーバー上のフォルダから。 の指定
続ける オプションを指定すると、取得したメッセージがメールサーバーのフォルダに残ります。
このオプションは、ETRNまたはODMRでは機能しません。 POP3と併用する場合は、これをお勧めします
--uidlオプションまたはuidlキーワードも指定します。
-K | --nokeep
(キーワード:nokeep)
取得したメッセージをリモートメールサーバーから削除します。 このオプションは強制的に取得されます
削除するメール。 デフォルトのを指定した場合に役立つことがあります 続ける in
.fetchmailrc。 このオプションは、ETRNおよびODMRで強制的にオンになります。
-F | - 流す
(キーワード:フラッシュ)
POP3/IMAPのみ。 これは危険なオプションであり、使用するとメールが失われる可能性があります
不適切に。 取得する前に、メールサーバーから古い(表示された)メッセージを削除します
新しいメッセージ。 警告: 他の人とメールをチェックすると、メールが失われる可能性があります
fetchmailよりもクライアントであり、fetchmailにこれまでになかったメッセージを削除させる
前にフェッチしました。 メールサーバーがメッセージにマークを付けると、メールが失われる可能性もあります
取得後に表示されます(IMAP2サーバー)。 おそらくこのオプションを使用しないでください
構成ファイル。 POP3で使用する場合は、「uidl」オプションを使用する必要があります。
おそらく必要なのはデフォルト設定です。「-k」を指定しない場合は、
fetchmailは、配信が成功するとメッセージを自動的に削除します。
--limitflush
バージョン3以降、POP6.3.0/IMAPのみ。 メールサーバーから特大のメッセージを削除する
新しいメッセージを取得する前。 サイズ制限は、で個別に指定する必要があります
--limitオプション。 このオプションは、ETRNまたはODMRでは機能しません。
プロトコル と クエリー オプション
-p | -プロト | - プロトコル
(キーワード:proto [col])
リモートメールサーバーと通信するときに使用するプロトコルを指定します。 いいえの場合
プロトコルが指定されている場合、デフォルトはAUTOです。 プロト 次のいずれかになります。
AUTOは、IMAP、POP3、およびPOP2を試行します(サポートがサポートされていないこれらのいずれかをスキップします)
でコンパイルされました)。
POP2 Post Office Protocol 2(レガシー、将来のリリースから削除予定)
POP3ポストオフィスプロトコル3
APOPPOP3を旧式のMD5チャレンジ認証で使用します。 考慮されない
中間者攻撃に耐性があります。
RPOPRPOP認証でPOP3を使用します。
KPOPポート3でKerberosV4認証を使用してPOP1109を使用します。
SDPSは、DemonInternetのSDPS拡張機能でPOP3を使用します。
IMAP IMAP2bis、IMAP4、またはIMAP4rev1(フェッチメール 自動的に検出します
機能)。
ETRNESMTPETRNオプションを使用します。
ODMRオンデマンドメールリレーESMTPプロファイルを使用します。
これらの選択肢はすべて、基本的に同じように機能します(標準サーバーとの通信)
ETRNとODMRを除いて、サーバー上のメールボックスにすでに配信されているメールをフェッチするデーモン)。
ETRNモードでは、準拠したESMTPサーバー(リリース時のBSD sendmailなど)に問い合わせることができます。
8.8.0以降)クライアントマシンへの送信者SMTP接続をすぐに開き、
サーバーのキューにあるクライアントマシン宛てのアイテムの転送を開始します。
未配達のメール。 ODMRモードには、ODMR対応サーバーが必要であり、次のように機能します。
ETRN。ただし、クライアントマシンに静的DNSが必要ない点が異なります。
-U | --uidl
(キーワード:uidl)
UIDLの使用を強制します(POP3でのみ有効)。 「新しさ」のクライアント側追跡を強制する
メッセージの数(UIDLは「一意のIDリスト」の略で、RFC1939で説明されています)。 使用する
'keep'を使用すると、ユーザーのグループのベビーニュースドロップとしてメールボックスを使用できます。 事実
エラーログが次の方法で実行されない限り、表示されたメッセージがスキップされたことがログに記録されます。
デーモンモードで実行中のsyslog。 fetchmailが自動的に有効になる場合があることに注意してください
このオプションは、アップストリームサーバーの機能によって異なります。 このオプションにも注意してください
将来のfetchmailバージョンでは、削除されて強制的に有効化される可能性があります。 参照:
--idfile。
-アイドル (以来 6.3.3)
(キーワード:6.0.0より前からアイドル)
IDLEの使用を有効にします(IMAPでのみ有効)。 これはXNUMXつだけで機能することに注意してください
与えられた時間のフォルダ。 アイドルrcfileキーワードがサポートされていた間
長い間、-idleコマンドラインオプションはバージョン6.3.3で追加されました。 IDLEの使用
これは、fetchmailがIMAPサーバーに新しいメッセージの通知を送信するように指示することを意味します。
通常の投票で可能になるよりも早く取得できます。
-P | - サービス
(キーワード:サービス)バージョン6.3.0以降。
サービスオプションを使用すると、接続するサービス名を指定できます。 あなたはできる
サービスデータベースに必要なものがない場合は、ここでXNUMX進数のポート番号を指定します
サービスポートの割り当て。 FAQアイテムR12および--sslドキュメントを参照してください。
詳細。 これにより、古い--portオプションが置き換えられます。
- 港
(キーワード:ポート)
サービス名をとらない--serviceの廃止バージョン。 ご注意: このオプション
将来のバージョンから削除される可能性があります。
- 主要な
(キーワード:プリンシパル)
プリンシパルオプションを使用すると、相互のサービスプリンシパルを指定できます
認証。 これは、Kerberos3認証を使用するPOP4またはIMAPに適用されます。
それだけ。 Kerberos5またはGSSAPIには適用されません。 このオプションは、
将来のfetchmailバージョン。
-t | - タイムアウト
(キーワード:タイムアウト)
タイムアウトオプションを使用すると、サーバーの無応答タイムアウトを秒単位で設定できます。 もし
メールサーバーは、グリーティングメッセージを送信したり、指定されたコマンドに応答したりしません
秒数、 フェッチメール それへの接続をドロップします。 そのようななしで
タイムアウト フェッチメール TCP接続がタイムアウトするまでハングし、フェッチしようとする可能性があります
ダウンホストからのメール。これは非常に長い場合があります。 これは特に迷惑です
のために フェッチメール バックグラウンドで実行しています。 デフォルトのタイムアウトがあります
fetchmail-Vが報告します。 特定の接続が受信するタイムアウトが多すぎる場合
連続すると、fetchmailはそれがくさびであると見なし、再試行を停止します。 呼び出し元のユーザー
これが発生した場合はメールで通知されます。
fetchmail 6.3.10以降、SMTPクライアントは推奨される最小値を使用します
通信しているSMTP/LMTPサーバーを待機している間にRFC-5321からタイムアウトします。
タイムアウトをさらに上げることはできますが、短くすることはできません。 これは避けるためです
fetchmailが短いタイムアウトで構成されているという厄介な状況(
XNUMX分以内)、長いメッセージ(多くのメガバイト)をローカルMTAに送信します。
「OK」に応答するのにタイムアウトよりも時間がかかりますが、最終的には応答します。 それは
つまり、メールは適切に配信されますが、fetchmailはそれに気付かないため、
この大きなメッセージを何度も再フェッチします。
-プラグイン
(キーワード:プラグイン)
プラグインオプションを使用すると、外部プログラムを使用してTCPを確立できます
繋がり。 これは、sshを使用する場合、または特別なものが必要な場合に便利です。
ファイアウォールの設定。 プログラムは$PATHで検索され、オプションで
ホスト名とポートをそれぞれ「%h」と「%p」を使用して引数として渡しました(注
補間ロジックはかなり原始的であり、これらのトークンは制限されている必要があります
空白または文字列の先頭または文字列の末尾)。 Fetchmailはに書き込みます
プラグインのstdinとプラグインのstdoutから読み取ります。
--プラグアウト
(キーワード:プラグアウト)
上記のプラグインオプションと同じですが、これはSMTPに使用されます
接続。
-r | - フォルダ
(キーワード:folder [s])
メールサーバー上にデフォルト以外の指定されたメールフォルダを作成します(またはカンマ区切り
フォルダのリスト)を取得します。 フォルダ名の構文はserver-です。
依存。 このオプションは、POP3、ETRN、またはODMRでは使用できません。
-- トレースポール
(キーワード:tracepolls)
「ポーリングアカウント%s」の形式でトレース情報をポーリングするようにfetchmailに指示します。
生成されるReceived行への「folder%s」。%sパーツは次のように置き換えられます。
ユーザーのリモート名、投票ラベル、および利用可能な場合はフォルダー(メールボックス)
(Receivedヘッダーには通常、サーバーの実際の名前も含まれます)。 これは
受信元のアカウントに基づいてメールフィルタリングを容易にするために使用されます。
フォルダ情報は、バージョン6.3.4以降でのみ書き込まれます。
--ssl (キーワード:ssl)
ネゴシエートすることにより、メールサーバーへの接続をSSL経由で暗号化します
接続直後のSSL(SSLラップモード)。 使用することを強くお勧めします
--sslcertckは、サーバーによって提示された証明書を検証します。 をご覧ください
以下の--sslprotoの説明! 詳細については、 README.SSL
fetchmailに同梱されているファイル。
このオプションを省略しても、fetchmailはSSLインバンドをネゴシエートする可能性があることに注意してください
POP3またはIMAPの場合、STLSまたはSTARTTLS機能を使用します。 --sslprotoを使用できます
その動作を変更するオプション。
ポートが指定されていない場合、の既知のポートへの接続が試行されます。
基本プロトコルのSSLバージョン。 これは通常、ポートとは異なるポートです
基本プロトコルで使用されます。 IMAPの場合、これはクリアプロトコルのポート143であり、
SSLで保護されたプロトコルのポート993。 POP3の場合、クリアテキストの場合はポート110です。
暗号化されたバリアントの場合はポート995。
システムに対応するエントリがない場合 /etc/services、を参照してください。
--serviceオプションを選択し、前に示したように数値のポート番号を指定します
段落(ISPが別のポートに誘導した場合を除きます。これは一般的ではありません。
しかし)。
--sslcert
(キーワード:sslcert)
証明書ベースのクライアント認証用。 一部のSSL暗号化サーバーには
認証用のクライアント側のキーと証明書。 ほとんどの場合、これは
オプション。 これは、公開鍵証明書の場所を指定します
SSLセッションが確立されたときにサーバーに提示されます。 そうではない
サーバーがそれを必要としない場合は必要です(ただし、提供される場合があります)。 それはかもしれません
秘密鍵(鍵と証明書の組み合わせファイル)と同じファイルですが、これはそうではありません
おすすめされた。 以下の--sslkeyも参照してください。
注: クライアント認証を使用する場合、ユーザー名は
証明書のCommonNameであり、-userで設定された名前をオーバーライドします。
--sslkey
(キーワード:sslkey)
クライアント側の秘密SSLキーのファイル名を指定します。 一部のSSL暗号化
サーバーは、認証のためにクライアント側のキーと証明書を必要とします。 ほとんどの場合
場合、これはオプションです。 これは、に使用される秘密鍵の場所を指定します
SSLセッションが確立されたときにサーバーとのトランザクションに署名します。 これ
サーバーが必要としない場合は必要ありません(ただし、提供される場合があります)。 そうかも知れない
公開鍵(鍵と証明書の組み合わせファイル)と同じファイルですが、これはそうではありません
お勧めします。
キーのロックを解除するためにパスワードが必要な場合は、その時点でパスワードの入力を求められます
サーバーへのセッションを確立する直前。 これはいくつかを引き起こす可能性があります
デーモンモードでの合併症。
上記の--sslcertも参照してください。
--sslproto
(キーワード:sslproto、注:v6.4.0以降のセマンティックの変更)
このオプションには、歴史的なfetchmailの動作とは異なり、XNUMXつの用途があります。 両方を制御します
SSL / TLSプロトコルのバージョン、および--sslが指定されていない場合は、STARTTLSの動作
(プロトコルをSSLまたはTLS接続の帯域内にアップグレードします)。 他のいくつかのオプション
ただし、TLSが必須になる場合があります。
このオプションと--sslの両方がポーリングで欠落している場合にのみ、便宜的なTLSが存在します
POP3およびIMAPの場合、fetchmailはTLSv1以降へのアップグレードを試みます。
--sslprotoの認識される値を以下に示します。 通常、次のいずれかを選択する必要があります
自動ネゴシエーションオプション、すなわち 'オート'またはプラスで終わるオプションのXNUMXつ(+)
キャラクター。 OpenSSLライブラリのバージョンと構成によっては、いくつかのオプションがあることに注意してください
要求されたSSLまたはTLSバージョンがサポートされていないため、実行時エラーが発生します
特定のインストール済みOpenSSLライブラリ。
''、空の文字列
STARTTLSを無効にします。 同じサーバーに--sslが指定されている場合は、エラーをログに記録し、
そのふりをする'オート代わりに'が使用されていました。
'オート' (ディフォルト)。 v6.4.0以降。 TLSが必要です。 TLSv1以降を自動ネゴシエートし、無効にします
SSLv3のダウングレード。 (fetchmail6.3.26以前ではすべてが自動ネゴシエートされています
壊れたSSLv3を含む、OpenSSLライブラリがサポートするプロトコル。
'SSL23'
見る 'オート'.
'SSL3'SSLv3が正確に必要です。 SSLv3が壊れている、すべてのシステムでサポートされているわけではない、避けてください
可能であればそれ。 これにより、fetchmailはSSLv3のみをネゴシエートします。
'以外の唯一の方法SSL3 +'fetchmail6.4.0以降でSSLv3を許可する。
'SSL3 +'
と同じ 'オート'ただし、SSLv3も許可します。 これ以外の唯一の方法です
'SSL3'fetchmail6.4.0以降でSSLv3を許可する。
'TLS1'TLSv1が必要です。 これはTLSv1.1以降をネゴシエートしないため、お勧めしません。
TLS1 +がサーバーを詰まらせない限り、TLSXNUMX+に置き換えてください。
'TLS1 +'
v6.4.0以降。 'fBauto'を参照してください。
'TLS1.1'
v6.4.0以降。 TLSv1.1を正確に要求します。
'TLS1.1 +'
v6.4.0以降。 TLSが必要です。 TLSv1.1以降を自動ネゴシエートします。
'TLS1.2'
v6.4.0以降。 TLSv1.2を正確に要求します。
'TLS1.2 +'
v6.4.0以降。 TLSが必要です。 TLSv1.2以降を自動ネゴシエートします。
認識されないパラメータ
'と同じように扱われますオート'.
注:''以外のものを使用する必要はほとんどありません(強制的に
暗号化されていない接続)または「自動」(TLSを適用するため)。
--sslcertck
(キーワード:sslcertck)
fetchmailでSSL/TLSの使用を要求し、使用できない場合は切断します
SSLまたはTLSのネゴシエーションに成功した場合、または検証と妥当性確認に成功しなかった場合
証明書を作成し、それをトラストアンカー(または信頼されたルート証明書)までたどります。 The
トラストアンカーは、ローカルの信頼できる証明書のセットとして提供されます( SSL証明書ファイル
と sslcertパス オプション)。 サーバー証明書を取得できない、または取得できない場合
信頼できるもののXNUMXつによって(直接的または間接的に)署名されたfetchmailは
に関係なく、切断します 指紋認証 オプションを選択します。
CRL(証明書失効リスト)はOpenSSL0.9.7でのみサポートされていることに注意してください
そして新しい! これを使用する場合、システムクロックも適度に正確である必要があります
オプションを選択します。
このオプションの動作は、将来のfetchmailでデフォルトの動作になる可能性があることに注意してください
バージョン。
--sslcertfile
(キーワード:sslcertfile、v6.3.17以降)
fetchmailがローカル証明書を検索するために使用するファイルを設定します。 デフォルトは空です。
これはに加えて与えることができます --sslcertpath 以下、およびで指定された証明書
--sslcertfile の前に処理されます --sslcertpath。 オプションは
に加えて使用 --sslcertpath.
ファイルはテキストファイルです。 信頼できるCA証明書の連結が含まれています
PEM形式で。
このオプションを使用すると、デフォルトのSSL信頼できるCAのロードが抑制されることに注意してください
環境変数を設定しない限り、証明書ファイル
FETCHMAIL_INCLUDE_DEFAULT_X509_CA_CERTS 空でない値に。
--sslcertpath
(キーワード:sslcertpath)
fetchmailがローカル証明書を検索するために使用するディレクトリを設定します。 デフォルトは
OpenSSLのデフォルトディレクトリ。 ディレクトリは、OpenSSLの方法でハッシュする必要があります
ディレクトリに証明書を追加または変更するたびに、次のことが必要になります。
使用します c_rehash ツール(tools /サブディレクトリにOpenSSLが付属しています)。
また、OpenSSLのアップグレード後、実行する必要がある場合があります c_rehash; 特に
0.9.Xから1.0.0にアップグレードします。
これはに加えて与えることができます --sslcertfile 上記、優先順位を確認
ルール。
このオプションを使用すると、デフォルトのSSL信頼できるCAの追加が抑制されることに注意してください
環境変数を設定しない限り、certificatesディレクトリ
FETCHMAIL_INCLUDE_DEFAULT_X509_CA_CERTS 空でない値に。
--ssl共通名 <共通 名前>
(キーワード:sslcommonname; v6.3.9以降)
このオプションの使用はお勧めしません。 使用する前に、の管理者に連絡してください
アップストリームサーバーで、使用する適切なSSL証明書を要求します。 もしそうなら
達成できない場合、このオプションを使用して、次の名前(CommonName)を指定できます。
fetchmailはサーバー証明書を期待しています。 正しく構成されたサーバーは
これを到達先のホスト名に設定すると、デフォルトでfetchmailは
同じくらい期待します。 CommonNameが他の値に設定されている場合は、このオプションを使用します。
「サーバー共通名の不一致」警告を回避し、アップストリームサーバーが
適切な証明書を使用させることはできません。
--sslfingerprint
(キーワード:sslfingerprint)
サーバーキーのフィンガープリント(キーのMD5ハッシュ)をXNUMX進数で指定します
XNUMX桁のグループを区切るコロンによる表記。 文字のXNUMX進数は
大文字で。 これは、fetchmailがフィンガープリントを報告するために使用する形式です
SSL接続が確立されたとき。 これを指定すると、fetchmailは
サーバーキーの指紋を特定の指紋と比較すると、接続が失敗します
それらが一致しない場合は、 sslcertck 設定。 接続も
fetchmailがサーバーからSSL証明書を取得できない場合は失敗します。 これは
中間者攻撃を防ぐために使用されますが、サーバーからの指紋
安全なチャネルを介して取得または検証する必要があります。
fetchmailが使用するのと同じインターネット接続。
このオプションを使用すると、証明書の検証エラーが印刷されないようになります。
--sslcertckが設定されていません。
ファイルcert.pemに保存されている証明書のフィンガープリントを取得するには、次のことを試してください。
openssl x509 -in cert.pem -noout -md5 -fingerprint
詳細は、 x509(1ssl)。
出荷 管理 オプション
-S | --smtphost
(キーワード:smtp [host])
メールを転送するホストのハントリストを指定します(XNUMXつ以上のホスト名、コンマ-
分離)。 ホストはリスト順に試行されます。 最初に上がったものが
現在の実行の転送ターゲット。 このオプションが指定されていない場合、
「localhost」がデフォルトとして使用されます。 各ホスト名には、次のポート番号があります
ホスト名。 ポート番号は、ホスト名とスラッシュで区切られています。 the
デフォルトのポートは「smtp」です。 絶対パス名(/で始まる)を指定する場合、
LMTP接続を受け入れるUNIXソケットの名前として解釈されます
(Cyrus IMAPデーモンでサポートされているものなど)例:
--smtphost server1、server2 / 2525、server3、/ var / imap / socket / lmtp
このオプションはODMRで使用でき、fetchmailをODMR間のリレーにします。
サーバーとSMTPまたはLMTPレシーバー。
--fetchdomains
(キーワード:fetchdomains)
ETRNまたはODMRモードでは、このオプションはサーバーが必要なドメインのリストを指定します
接続が確立されたら、メールを送信します。 デフォルトはのFQDNです
実行中のマシン フェッチメール.
-D | --smtpaddress
(キーワード:smtpaddress)
SMTPに送信されるRCPTTO行のアドレスに追加するドメインを指定します。
これが指定されていない場合、SMTPサーバーの名前(
--smtphost)はSMTP / LMTPに使用され、「localhost」はUNIXソケット/BSMTPに使用されます。
--smtpname
(キーワード:smtpname)
SMTPに出荷されるRCPTTO行に配置するドメインとユーザーを指定します。 The
デフォルトユーザーは現在のローカルユーザーです。
-Z | - アンチスパム <nnn[, nnn] ...>
(キーワード:スパム対策)
スパムとして解釈されるSMTPエラーの数値のリストを指定します-
リスナーからの応答をブロックします。 -1の値は、このオプションを無効にします。 のために
コマンドラインオプションの場合、リスト値はコンマで区切る必要があります。
-m | --mda
(キーワード:mda)
このオプションにより、 フェッチメール メッセージまたはローカル配信エージェント(MDAまたはLDA)を使用する
SMTPまたはLMTPを介して転送するのではなく、直接。
メールの紛失を防ぐために、このオプションはメールドロップなどのMDAまたは次のようなMTAでのみ使用してください。
disk-fullおよびその他の配信エラーでゼロ以外のステータスで終了するsendmail。
ゼロ以外のステータスは、fetchmailに配信が失敗したことを通知し、メッセージを阻止します
サーバー上で削除されないようにします。
If フェッチメール rootとして実行されており、メールの配信中にユーザーIDを設定します。
MDAは次のとおりです。まず、FETCHMAILUSER、LOGNAME、およびUSER環境
変数はこの順序でチェックされます。 彼のリストの最初の変数の値
定義されているもの(空であっても!)は、システムユーザーデータベースで検索されます。 もしも
どの変数も定義されていません。fetchmailは実際のユーザーIDを使用します
で始まりました。 変数のXNUMXつが定義されているが、ユーザーが定義されていないことを示した場合
見つかった、fetchmailは、残りの変数をチェックせずに、rootとして実行を継続します
リスト。 実際には、これは、fetchmailをrootとして実行した場合(
推奨)、FETCHMAILUSER環境変数を次のように定義すると最も便利です。
MDAを実行するユーザーを設定します。 一部のMDA(メールドロップなど)は設計されています
setuid rootおよびsetuidを受信者のユーザーIDに設定することで、失うことはありません
非特権ユーザーとしてfetchmailを実行している場合でも、このように機能します。 チェックしてください
詳細については、MDAのマニュアルを参照してください。
いくつかの可能なMDAは「/ usr / sbin / sendmail -i -f%F-%T "(ご注意: いくつかの
古いバージョンまたはベンダーのsendmailバージョンの間違い-アドレスではなくアドレス
オプション引数の終わりを示すインジケーター)、「/ usr / bin/deliver」および
"/ usr / bin / maildrop -d%T"。 ローカル配送先住所がMDAに挿入されます
%Tを配置する場所ならどこでもコマンド; メールメッセージの差出人アドレスが挿入されます
%Fを配置する場所。
Do NOT 囲む %F or %T string in 引用符! %Tと%Fの両方で、fetchmail
一重引用符を削除した後、アドレスを一重引用符(')で囲みます。
MDAコマンドがシェルに渡される前に、が含まれる場合があります。
Do NOT つかいます an MDA 呼び出し それ 派遣 on 中身 of To / Cc / Bcc、 ような
「sendmail-i-t」または「qmail-inject」は、メールループを作成し、
多くの郵便局長の怒りがあなたの頭に降り注いでいます。 これは最も頻繁なもののXNUMXつです
構成エラー!
また、 マルチドロップモードとメールドロップなどのMDAを組み合わせてみてください
アップストリームがメッセージのコピーをXNUMXつごとに保存しない限り、XNUMXつのアドレスのみを受け入れます
受信者とエンベロープ受信者をヘッダーで転送します。 あなたはメールを失うでしょう。
有名な プロメール(1)パッケージを適切に構成するのは非常に困難であり、
配信エラーに対する非常に厄介な「次のルールへのフォールスルー」動作(
別のユーザーのメールデーモンがコピーした場合のディスク容量不足などの一時的なもの
古いメッセージを削除するためのメールボックス)、メールが間違ってしまう
遅かれ早かれメールボックス。 適切なprocmail構成は、
このドキュメント。 使用する メイルドロップ(1)通常ははるかに簡単で、多くのユーザーは
maildropで使用されるフィルター構文が理解しやすくなります。
最後に、実行することを強くお勧めします qmail-injectを使用します。 コマンドライン
インターフェイスは非標準であり、通常の使用やfetchmailにメリットはありません。
qmail-injectの標準からの逸脱に対応しようとはしません。 いくつか
qmail-injectのコマンドラインと環境オプションの一部は実際には危険であり、
スレッドの破損、検出されない重複メッセージ、転送ループが発生する可能性があります。
--lmtp (キーワード:lmtp)
LMTP(ローカルメール転送プロトコル)を介した配信を引き起こします。 サービスホストとポート
しなければなりません smtphostハントリスト(上記を参照)の各ホストで明示的に指定されている場合
このオプションが選択されています。 デフォルトのポート25は(RFC 2033に従って)
受け付けます。
--bsmtp
(キーワード:bsmtp)
フェッチしたメールをBSMTPファイルに追加します。 これには、次のSMTPコマンドが含まれているだけです。
通常、SMTPリスナーにメールを渡すときにfetchmailによって生成されます
デーモン。
'-'の引数を指定すると、SMTPバッチが標準出力に書き込まれます。
使用が制限されている場合:fetchmailは通常の機能であるため、これはデバッグにのみ意味があります
出力は同じチャネルに散在しているため、これはメールには適していません
配達。 この特別なモードは、今後のリリースで削除される可能性があります。
fetchmailによるMAILFROMおよびRCPTTO行の再構築はそうではないことに注意してください
正しいことが保証されています。 マルチドロップの使用と乱用で説明されている警告
以下のメールボックスが適用されます。 このモードは、-mdaおよびSMTP/LMTPよりも優先されます。
-- 不良ヘッダー {拒否|受け入れる}
(キーワード:bad-header; v6.3.15以降)
fetchmailが不正なヘッダー、つまりヘッダーを含むメッセージをどのように処理するかを指定します
構文が悪い。 従来、fetchmailはそのようなメッセージを拒否していましたが、一部のメッセージは拒否されました。
ディストリビューターは、それらを受け入れるようにfetchmailを変更しました。 これで、fetchmailを構成できます
サーバーごとの動作。
事業紹介 リミット 管理 オプション
-l | -制限
(キーワード:制限)
最大オクテットサイズの引数を取ります。ここで、0はデフォルトであり、特別なものです。
「制限なし」を指定する値。 ゼロ以外の場合、このサイズより大きいメッセージは
フェッチされ、サーバーに残されます(フォアグラウンドセッションでは、進行状況
メッセージは、それらが「特大」であることに注意します)。 フェッチプロトコルが許可する場合(
特に、fetchallオプションのないIMAPまたはPOP3では、メッセージは
見たとマークされています。
明示的な--limit0は、実行制御ファイルに設定されている制限を上書きします。 これ
オプションは、次の理由でフェッチ時間を厳密に制御する必要がある場合を対象としています。
高価で変動する電話料金。
--limitflushと組み合わせると、待機中の特大メッセージを削除するために使用できます
サーバー。 デーモンモードでは、特大の通知が呼び出し元のユーザーにメールで送信されます
(--warningsオプションを参照してください)。 このオプションは、ETRNまたはODMRでは機能しません。
-w | -警告
(キーワード:警告)
秒単位の間隔を取ります。 電話するとき フェッチメール の「制限」オプション付き
デーモンモード。これは、サイズの大きいメッセージに関する警告の間隔を制御します。
呼び出し元のユーザー(または「postmaster」オプションで指定されたユーザー)にメールで送信されます。
そのような通知のXNUMXつは、最初の投票の最後に常にメールで送信されます。
特大のメッセージが検出されました。 その後、再通知は
警告間隔が経過した後(最初の最後に発生します
次の投票)。
-b | --バッチ制限
(キーワード:batchlimit)
SMTPリスナーに送信されるメッセージの最大数を指定します
接続が意図的に切断されて再構築される前(デフォルトは0、つまり
制限なし)。 明示的な--batchlimit0は、実行で設定された制限をオーバーライドします
制御ファイル。 その間 sendmail(8)通常、メッセージの配信を開始します
メッセージターミネータを受信した直後、一部のSMTPリスナーはそうではありません
促す。 好きなMTA スメイル(8)配信ソケットがシャットダウンされるまで待機する場合があります
配達。 これにより、次の場合に煩わしい遅延が発生する可能性があります フェッチメール 非常に大規模な処理を行っています
バッチ。 バッチ制限をゼロ以外のサイズに設定すると、これらの遅延を防ぐことができます。
このオプションは、ETRNまたはODMRでは機能しません。
-B | --fetchlimit
(キーワード:fetchlimit)
XNUMX回のポーリングで特定のサーバーから受け入れられるメッセージの数を制限します。 に
デフォルトでは制限はありません。 明示的な--fetchlimit0は、設定された制限を上書きします
実行制御ファイル内。 このオプションは、ETRNまたはODMRでは機能しません。
--fetchsizelimit
(キーワード:fetchsizelimit)
XNUMXつのサーバーで受け入れられるメッセージのサイズの数を制限する
取引。 このオプションは、最初のダウンロードの遅延を減らすのに役立ちます
メールボックスにメールが多すぎる場合にメールを送信します。 デフォルトでは、制限は100です。
0に設定すると、すべてのメッセージのサイズが最初にダウンロードされます。 このオプションは
ETRNまたはODMRでは機能しません。 POP3の場合、ゼロ以外の有効な値は1のみです。
--fastuidl
(キーワード:fastuidl)
最初の見えないUIDを線形検索する代わりに、バイナリ検索を実行します。 二分探索は回避します
すべてのメールのUIDをダウンロードします。 これにより時間を節約できます(特にデーモンモードの場合)
各ポーリングで同じUIDのセットをダウンロードすると、帯域幅が無駄になります。 The
数値「n」は、線形検索を実行する頻度がどれほど低いかを示します。 デーモンモードでは、
線形検索は一度使用され、その後に「n-1」ポーリングで「n」が
1より大きい; 'n'が1の場合、常に二分探索が使用されます。 線形探索は常に
'n'が0の場合に使用されます。非デーモンモードでは、'n'が1の場合にバイナリ検索が使用されます。 それ以外は
線形探索が使用されます。 'n'のデフォルト値は4です。このオプションはPOP3で機能します
のみ。
-e | -消去
(キーワード:抹消)
指定された数のメッセージの後で削除が最終的に行われるように手配します。 下
POP2またはPOP3、fetchmailは、QUITを送信して終了しない限り、削除を最終的に行うことはできません
セッション-このオプションをオンにすると、fetchmailは長いメールの取得を中断します
セッションを複数のサブセッションに分割し、各サブセッションの後にQUITを送信します。 これは
POP3サーバーでの回線ドロップに対する優れた防御。 IMAPでは、 フェッチメール 通常は
削除を強制するために、削除のたびにEXPUNGEコマンドを発行します。
すぐに行われます。 これは、サーバーへの接続が不安定で、
行がヒットした後に重複メールを再送信することを回避するため、高価です。 ただし、
大きなメールボックスは、すべてのメッセージがサーバーを破壊する可能性がある後、インデックスを再作成するオーバーヘッド
かなり難しいので、接続が信頼できる場合は、消去を少なくすることをお勧めします
頻繁に。 また、一部のサーバーは、その後数秒の遅延を強制することに注意してください
それぞれが終了するため、fetchmailは消去直後に戻ることができない場合があります
-これが発生した場合、「ロックビジー」エラーが表示される場合があります。 このオプションをに指定した場合
整数N、それは伝えます フェッチメール N回目の削除ごとにのみ消去を発行します。 アン
ゼロの引数は、消去を完全に抑制します(したがって、消去はまったく行われません)
実行が終了するまで)。 このオプションは、ETRNまたはODMRでは機能しません。
認証 オプション
-u | - ユーザー | -ユーザー名
(キーワード:user [name])
メールサーバーにログインするときに使用するユーザーIDを指定します。
適切なユーザーIDは、サーバーとユーザーの両方に依存します。 デフォルト
実行中のクライアントマシンでのログイン名です フェッチメール。 ユーザーを参照してください
完全な説明については、以下の認証。
-I | - インターフェース
(キーワード:インターフェース)
特定のインターフェイスデバイスが起動していて、特定のローカルまたはリモートを持っている必要があります
ポーリング前のIPv4(IPv6はこのオプションではまだサポートされていません)アドレス(または範囲)。
頻繁に フェッチメール 一時的なポイントツーポイントTCP/IPリンクを介して使用されます
SLIPまたはPPPを介してメールサーバーに直接確立されます。 それは比較的安全です
チャネル。 ただし、メールサーバーへの他のTCP / IPルートが存在する場合(たとえば、リンクが存在する場合)
が代替ISPに接続されている場合)、ユーザー名とパスワードは脆弱である可能性があります
スヌーピング(特にデーモンモードが自動的にメールをポーリングし、
予測可能な間隔でネット経由でパスワードをクリアします)。 --interfaceオプションは
これを防ぐために使用されます。 指定されたリンクがアップしていないか、接続されていない場合
一致するIPアドレスの場合、ポーリングはスキップされます。 形式は次のとおりです。
interface / iii.iii.iii.iii [/mmm.mmm.mmm.mmm]
最初のスラッシュの前のフィールドは、インターフェース名(つまり、sl0、ppp0など)です。 The
XNUMX番目のスラッシュの前のフィールドは、受け入れ可能なIPアドレスです。 後のフィールド
XNUMX番目のスラッシュは、受け入れるIPアドレスの範囲を指定するマスクです。 いいえの場合
マスクが存在する255.255.255.255が想定されます(つまり、完全に一致します)。 このオプションは
現在、LinuxとFreeBSDでのみサポートされています。 をご覧ください モニター
FreeBSD固有の情報については、以下を参照してください。
このオプションは、将来のfetchmailバージョンから削除される可能性があることに注意してください。
-M | - モニター
(キーワード:モニター)
デーモンモードでは、一時的なリンクが発生する可能性があります。
非アクティブな期間(PPPリンクなど)が無期限にアップしたままになります。 このオプション
アクティビティを監視するシステムTCP/IPインターフェースを識別します。 各投票後
間隔、リンクはアップしているが、リンク上で他のアクティビティが発生していない場合は、
投票はスキップされます。 ただし、fetchmailがシグナルによってウェイクアップされると、
モニターチェックはスキップされ、ポーリングは無条件に実行されます。 このオプションは
現在、LinuxとFreeBSDでのみサポートされています。 のために モニター と インタフェース
FreeBSDでroot以外のユーザーのために機能するオプションの場合、fetchmailバイナリは
SGIDkmemをインストールしました。 これはセキュリティホールになりますが、fetchmailは
kmemグループの有効GIDに設定された有効GID の インターフェイスデータが
集めました。
このオプションは、将来のfetchmailバージョンから削除される可能性があることに注意してください。
--認証
(キーワード:auth [enticate])
このオプションを使用すると、認証タイプを指定できます(ユーザー認証を参照)
詳細については以下をご覧ください)。 可能な値は次のとおりです。 どれか, password, ケルベロス_v5, ケルベロス
(または、耐え難いほどの正確さのために、 ケルベロス_v4), グサピ, クラムMD5, otp, ntlm, MSN
(POP3のみ)、 外部 (IMAPのみ)および ssh。 時 どれか (デフォルト)は
指定された場合、fetchmailはパスワードを必要としない最初のメソッドを試行します(EXTERNAL、
GSSAPI、KERBEROS IV、KERBEROS 5); 次に、パスワードをマスクするメソッドを探します
(CRAM-MD5、NTLM、X-OTP-MSNはPOP3でのみサポートされており、サポートされていないことに注意してください
自動プローブ); サーバーがそれらのいずれもサポートしていない場合にのみ、サーバーは
パスワードenclair。 他の値を使用して、さまざまな認証を強制することができます
メソッド(ssh 認証を抑制し、IMAPPREAUTHに役立ちます)。
(外部 認証を抑制し、IMAPEXTERNALに役立ちます)。 どれでも
以外の値 password, クラムMD5, ntlm, MSN or otp fetchmailの通常を抑制します
パスワードのお問い合わせ。 特定 ssh エンドツーエンドのセキュアを使用している場合
sshトンネルなどの接続。 特定 外部 クライアントでTLSを使用する場合
認証と指定 グサピ or ケルベロス_v4 プロトコルを使用している場合
GSSAPIまたはK4を使用するバリアント。 KPOPプロトコルを選択すると自動的に選択されます
Kerberos認証。 このオプションはETRNでは機能しません。 GSSAPIサービス
名前はRFC-2743およびIANA登録に準拠しています。GenericSecurityを参照してください。
サービスアプリケーションプログラムインターフェイス(GSSAPI)/Kerberos/単純認証および
セキュリティ層(SASL)サービス名⟨http://www.iana.org/assignments/
gssapi-service-names/⟩。
その他 オプション
-f | --fetchmailrc
デフォルト以外の名前を指定します 〜/ .fetchmailrc 制御ファイルを実行します。 パス名
引数は「-」(単一のダッシュ、から構成を読み取ることを意味する)のいずれかである必要があります
標準入力)またはファイル名。 --versionオプションもオンになっていない限り、名前付き
ファイル引数には、0700(u = rwx、g =、o =)以下のアクセス許可が必要です。
/ dev / null。
-i | --idfile
(キーワード:idfile)
メッセージUIDの保存に使用される.fetchidsファイルの代替名を指定します。 ノート:
fetchmail 6.3.0以降、idfileを含むディレクトリへの書き込みアクセスは次のようになります。
fetchmailが一時ファイルを書き込み、その名前を
一時ファイルが正常に書き込まれた場合にのみ、実際のidfile。 これは回避します
ディスク容量が不足した場合のidfileの切り捨て。
--pidfile
(キーワード:pidfile; fetchmail v6.3.4以降)
PIDファイルのデフォルトの場所を上書きします。 デフォルト:以下の「環境」を参照してください。
-n | --norewrite
(キーワード:書き換えなし)
通常は、 フェッチメール RFC-822アドレスヘッダー(To、From、Cc、Bcc、およびReply-To)を編集します
サーバーにローカルなすべてのメールIDが完全に拡張されるようにフェッチされたメールで
アドレス(@とメールサーバーのホスト名が追加されます)。 これにより、
クライアントが正しくアドレス指定されるようにする(そうでない場合、メーラーは
クライアントマシンのローカルユーザーにアドレス指定する必要があります!)。 このオプションは無効になります
書き直し。 (このオプションは、妄想的な人々を和らげるために提供されています
MTAにメールヘッダーを編集させて、それを防ぐことができることを知りたいのですが、
通常、実際に書き換えをオフにすることはお勧めできません。)ETRNまたはODMRを使用する場合は、
書き換えオプションは無効です。
-E | - 封筒
(キーワード:エンベロープ;マルチドロップのみ)
構成ファイルでは、拡張構文が使用されます。
封筒 [ ]
このオプションはヘッダーを変更します フェッチメール メールのコピーを運ぶことを前提としています
封筒の住所。 通常、これは「X-Envelope-To」です。 その他の一般的に見られるヘッダー
エンベロープ情報を運ぶには、「X-Original-To」と「Delivered-To」があります。 さて、
これらのヘッダーは標準化されておらず、実践はさまざまです。 の議論を参照してください
以下のマルチドロップアドレス処理。 特別な場合として、「封筒「受信済み」」は
sendmailスタイルの受信行の解析。 これはデフォルトですが、お勧めしません
完全に信頼できるわけではないからです。
fetchmailは、Received-lineが特定の形式であることを想定していることに注意してください。
含む"によって host for 住所"、 どこ host メールサーバー名のXNUMXつと一致する必要があります
そのfetchmailは問題のアカウントを認識します。
オプションのcount引数(構成ファイルでのみ使用可能)は、
この種のヘッダー行がいくつスキップされるか。 1のカウントは、最初をスキップすることを意味します。
2番目を取ります。 XNUMXのカウントは、XNUMX番目とXNUMX番目をスキップし、XNUMX番目を取得し、
というように。
-Q | --q仮想
(キーワード:qvirtual;マルチドロップのみ)
このオプションに割り当てられた文字列プレフィックスは、見つかったユーザー名から削除されます
で指定されたヘッダー内 封筒 オプション( マルチドロップ名を行う
マッピングまたはローカルドメインチェック(いずれか該当する場合)。 このオプションは、次の場合に役立ちます
あなたは使っています フェッチメール ドメイン全体とISP(または
メールリダイレクトプロバイダー)はqmailを使用しています。 qmailの基本機能のXNUMXつ
は 配信先: メッセージヘッダー。 qmailがローカルにメッセージを配信するときはいつでも
メールボックスは、エンベロープ受信者のユーザー名とホスト名をこの行に配置します。
これの主な理由は、メールのループを防ぐためです。 qmailをバッチメールに設定するには
切断されたサイトの場合、ISP-mailhostは通常、そのサイトを
'Virtualhosts'制御ファイル。これにより、すべてのメールアドレスにプレフィックスが追加されます。
サイト。 これにより、メールが'に送信されます[メール保護]'持っている
配信先: フォームの行:
配信先: [メール保護]
ISPは、「mbox-userstr-」プレフィックスを、選択した文字列以外の任意のプレフィックスにすることができます。
ユーザーのホスト名である可能性があります。 オプション'envelopeDelivered-To:'を使用すると、次のように作成できます。
fetchmailは元の封筒の受信者を確実に識別しますが、
正しいユーザーに配信するための「mbox-userstr-」プレフィックス。 これがこのオプションの目的です。
--configdump
解析する 〜/ .fetchmailrc ファイル、指定されたコマンドラインオプションを解釈し、
構成レポートを標準出力にダンプします。 構成レポートはデータです
Python言語での構造の割り当て。 このオプションは、
インタラクティブ 〜/ .fetchmailrc のような編集者 fetchmailconf、Pythonで書かれています。
削除済み オプション
-T | --netsec
バージョン6.3.0より前に削除され、必要な基盤となるinet6_appsライブラリは
廃止され、使用できなくなりました。
USER 認証 そして 暗号化
ETRNを除くすべてのモードでは、サーバーに対するクライアントの認証が必要です。 通常のユーザー
での認証 フェッチメール の認証メカニズムに非常によく似ています FTP(1) の
正しいユーザーIDとパスワードは、メールサーバーの基盤となるセキュリティシステムによって異なります。
メールサーバーが通常のユーザーアカウントを持っているUnixマシンの場合、
通常のログイン名とパスワードは フェッチメール。 同じログイン名を使用する場合
サーバーマシンとクライアントマシンの両方で、ユーザーIDの指定について心配する必要はありません。
-u オプション-デフォルトの動作では、クライアントマシンでログイン名を使用します
サーバーマシンのユーザーIDとして。 サーバーで別のログイン名を使用する場合
マシン、そのログイン名をで指定します -u オプション。 たとえば、ログイン名が「jsmith」の場合
'mailgrunt'という名前のマシンで、 フェッチメール 次のように:
fetchmail -u jsmith mailgrunt
のデフォルトの動作 フェッチメール の前にメールサーバーのパスワードの入力を求めるメッセージが表示されます
接続が確立されます。 これが最も安全な使用方法です フェッチメール そしてあなたの
パスワードが危険にさらされることはありません。 でパスワードを指定することもできます
〜/ .fetchmailrc ファイル。 これは使用するときに便利です フェッチメール デーモンモードまたは
スクリプト。
使い方 netrc ファイル
パスワードを指定しない場合、および フェッチメール あなたからXNUMXつを抽出することはできません
〜/ .fetchmailrc ファイル、それは探します 〜/ .netrc 以前にホームディレクトリにあるファイル
インタラクティブにリクエストする。 メールサーバーに一致するエントリがそのファイルで見つかった場合、
パスワードが使用されます。 Fetchmailは最初に投票名に一致するものを探します。 見つかった場合
なし、名前を介して一致するかどうかをチェックします。 を参照してください FTP(1)詳細についてはmanページ
の構文 〜/ .netrc ファイル。 実際の例を示すために、.netrcは次のようになります。
マシンhermes.example.org
ログインジョー
パスワードトップシークレット
以上を提供する必要がある場合は、異なるユーザー情報でこのブロックを繰り返すことができます
XNUMXつのパスワード。
この機能により、複数のパスワード情報の重複を回避できる場合があります
ファイルにソフトウェアを指定する必要があります。
通常のユーザーアカウントを提供しないメールサーバーでは、ユーザーIDとパスワードは次のとおりです。
通常、サーバー上のメールボックスを申請するときにサーバー管理者によって割り当てられます。
の正しいユーザーIDとパスワードがわからない場合は、サーバー管理者に問い合わせてください。
メールボックスアカウント。
POP3 バリエーション
POP3の初期バージョン(RFC1081、RFC1225)は、大まかな形式の独立をサポートしていました
を使用した認証 .rhosts メールサーバー側のファイル。 このRPOPバリアントでは、
パスワードに相当する固定のユーザーごとのIDが、予約済みへのリンクを介して明確に送信されました
ポート、PASSではなくコマンドRPOPを使用して、サーバーに特別な処理を行う必要があることを警告します
チェック中。 RPOPはによってサポートされています フェッチメール (「プロトコルRPOP」を指定して、
プログラムは「PASS」ではなく「RPOP」を送信します)が、その使用は強く推奨されておらず、サポートされています
将来のfetchmailバージョンから削除されます。 この施設はなりすましに対して脆弱でした
そしてRFC1460で撤回されました。
RFC1460はAPOP認証を導入しました。 このPOP3のバリアントでは、APOPを登録します
サーバーホストのパスワード(一部のサーバーでは、これを行うプログラムは
ポパウト(8))。 同じパスワードを入力します 〜/ .fetchmailrc ファイル。 毎回 フェッチメール
ログインすると、パスワードとサーバーのグリーティング時間のMD5ハッシュがサーバーに送信されます。
承認データベースをチェックすることで検証できます。
注意 それ ポップ is いいえ より長いです 見なさ 耐性 に対して 中間者 攻撃。
戻る or TOP
フェッチメール メッセージが取得されなかったとサーバーに信じ込ませるために、いくつかの努力をします。
可能な場合は、TOPコマンドを多数の行で使用します。 TOPはコマンドです
完全なヘッダーと フェッチメール-ボディラインの指定された量。 です
オプションであるため、すべてのサーバーに実装されているわけではなく、一部のサーバーはそれを実装することが知られています
不適切に。 ただし、多くのサーバーでは、メッセージ全体を取得するRETRコマンド
ヘッダーと本文を使用して、「seen」フラグを設定します(たとえば、Webインターフェイスで)。
TOPコマンドはそれを行いません。
フェッチメール 「fetchall」が設定されている場合は、常にRETRコマンドを使用します。 フェッチメール また使用します
「keep」が設定され、「uidl」が設定されていない場合のRETRコマンド。 ついに、 フェッチメール を使用します
意図的なTOPを回避するためのMaillenniumPOP3/ PROXYサーバー(Comcastで使用)でのRETRコマンド
メッセージの破損を引き起こすこのサーバーの誤解。
他のすべての場合、 フェッチメール TOPコマンドを使用します。 これは、「維持」することを意味します
セットアップでは、「TOP」が必要な場合は「uidl」を設定する必要があります。
注意 この説明はfetchmailの現在のバージョンには当てはまりますが、動作は
将来のバージョンで変更される可能性があります。 特に、fetchmailはRETRコマンドを好む場合があります
TOPコマンドは一部のサーバーで多くの悲しみを引き起こし、オプションにすぎないためです。
ALTERNATE 認証 フォーム
もしあなたの フェッチメール Kerberosサポートを使用して構築されており、Kerberos認証を指定します
(--authまたは .fetchmailrc オプション 認証 ケルベロス_v4)それはしようとします
各クエリの開始時にメールサーバーからKerberosチケットを取得します。 注:いずれかの場合
pollnameまたはvianameが'hesiod'の場合、fetchmailはHesiodを使用して検索を試みます。
メールサーバー。
GSSAPI認証でPOP3またはIMAPを使用する場合、 フェッチメール サーバーが
RFC1731-またはRFC1734-準拠のGSSAPI機能を備えており、それを使用します。 現在これ
Kerberos Vでのみテストされているため、すでにチケットの付与が必要です。
チケット。 標準を使用して、プリンシパル名とは異なるユーザー名を渡すことができます
- ユーザー コマンドまたはによって .fetchmailrc オプション user.
IMAPデーモンがグリーティングラインでPREAUTH応答を返す場合、fetchmailは
これに注意して、通常の認証手順をスキップしてください。 これは便利な場合があります。
sshを使用して明示的にimapdを起動します。 この場合、認証値を宣言できます
そのサイトエントリの「ssh」を停止します .fetchmail 起動時にパスワードを要求することから
アップ。
でクライアント認証を使用する場合 TLS1 IMAPデーモンは AUTH = EXTERNAL
応答、fetchmailはこれに気づき、認証ショートカットを使用しますが、
パスフレーズを送信します。 この場合、認証値'external'を宣言できます
そのサイトで停止します フェッチメール 起動時にパスワードを要求することから。
POP3を使用していて、サーバーが以下に準拠したワンタイムパスワードチャレンジを発行する場合
RFC1938、 フェッチメール 必要なものを生成するためのパスフレーズとしてパスワードを使用します
応答。 これにより、暗号化されていないネットを介してシークレットを送信することを回避できます。
CompuserveのRPA認証がサポートされています。 サポートでコンパイルする場合、 フェッチメール
パスワードを送信する代わりに、RPAパスフレーズ認証を実行しようとします
ホスト名に「@compuserve.com」が検出された場合はenclair。
IMAPを使用している場合、MicrosoftのNTLM認証(Microsoft Exchangeで使用)は
サポートされています。 サポートでコンパイルする場合、 フェッチメール NTLMを実行しようとします
サーバーが戻るたびに(パスワードをen clairで送信する代わりに)認証
機能応答のAUTH=NTLM。 次のようなユーザーオプション値を指定します
'user @ domain':@の左側の部分は、ユーザー名と部分として渡されます
NTLMドメインとして右側にあります。
セキュアー ソケット 層 (SSL) と 輸送 層 セキュリティ (TLS)
輸送。 さらに、POP3とIMAPの取得は、次の方法でSSL/TLSをネゴシエートすることもできます。
STARTTLS(またはSTLS)。
fetchmailは現在OpenSSLライブラリを使用していることに注意してください。これは、文書化が大幅に不足しています。
そのため、プログラマーがOpenSSLの要件を認識していないという理由だけで障害が発生する可能性があります
当時の。 たとえば、v6.3.16以降、fetchmailはOpenSSL_add_all_algorithms()を呼び出します。
これは、OpenSSL256でSHA0.9.8を使用する証明書をサポートするために必要です-これ
情報はドキュメントに深く隠されており、まったく明白ではありません。 しないでください
微妙なSSL障害を報告することを躊躇します。
--sslで始まるオプションを指定することで、SSL暗号化サービスにアクセスできます。
--ssl、-sslproto、-sslcertckなど。 を使用してこれを行うこともできます
.fetchmailrcファイルの対応するユーザーオプション。 POP3や
IMAPには、SSL暗号化サービス用に定義されたさまざまな既知のポートがあります。 The
SSLが有効で、明示的なポートがない場合、暗号化されたポートが自動的に選択されます
指定。 また、-sslcertckコマンドラインまたはsslcertck実行制御ファイルオプション
厳密な証明書チェックを強制するために使用する必要があります-以下を参照してください。
SSLが構成されていない場合、fetchmailは通常便宜的にSTARTTLSを使用しようとします。
STARTTLSは、-sslproto autoを使用して適用し、-sslproto''を使用して無効にすることができます。
TLS接続は、暗号化されていないバージョンのプロトコルと同じポートを使用してネゴシエートします
特別なコマンドによるTLS。 --sslcertckコマンドラインまたはsslcertck実行制御ファイルオプション
厳密な証明書チェックを強制するために使用する必要があります-以下を参照してください。
--sslcertck is 推奨: SSLまたはTLS暗号化サーバーに接続する場合、サーバー
検証のためにクライアントに証明書を提示します。 証明書をチェックして確認します
証明書の共通名が接続先のサーバーの名前と一致していること
証明書の発効日と有効期限は、それが現在であることを示していること
有効。 これらのチェックのいずれかが失敗した場合、警告メッセージが出力されますが、接続は
続けます。 サーバー証明書は、特定の証明書によって署名される必要はありません
権限であり、「自己署名」証明書である可能性があります。 --sslcertckコマンドラインオプションの場合
またはsslcertckruncontrol fileオプションが使用されている場合、これらのいずれかが発生した場合、fetchmailは代わりに中止します
これには中間者攻撃があると想定する必要があるため、チェックは失敗します
したがって、fetchmailはクリアテキストのパスワードを公開してはなりません。 sslcertckまたは
したがって、-sslcertckオプションをお勧めします。
一部のSSL暗号化サーバーは、クライアント側の証明書を要求する場合があります。 クライアント側のパブリック
SSL証明書と秘密SSLキーを指定できます。 サーバーから要求された場合、
クライアント証明書は、検証のためにサーバーに送信されます。 一部のサーバーには有効なものが必要な場合があります
クライアント証明書。証明書が提供されていない場合、または証明書が提供されていない場合、接続を拒否する可能性があります。
証明書が無効です。 一部のサーバーでは、クライアント側の証明書に署名する必要がある場合があります
認められた認証局。 キーファイルと証明書ファイルの形式
基盤となるSSLライブラリ(一般的な場合はOpenSSL)で必要なものです。
SSLの使用に関する注意事項:上記の自己署名サーバーを使用したセットアップ
有線で取得した証明書は、受動的な盗聴者からあなたを守ることができます。
アクティブな攻撃者に対しては役に立ちません。 送信するよりも明らかに改善されています
パスワードは明確ですが、man-in-the-middle攻撃は些細なことであることに注意する必要があります
可能(特にdsniff⟨などのツールを使用)http://monkey.org/~dugsong/dsniff/⟩、)。
サーバーによって認識された認証局による厳密な証明書チェックの使用と
クライアント、またはSSHトンネル(いくつかの例については以下を参照)の場合は、
メールボックスとパスワードのセキュリティに真剣に注意してください。
ESMTP AUTH
フェッチメール に従って、クライアント側のESMTPサーバーへの認証もサポートします。
RFC2554。キーワード「esmtpname」で使用する名前とパスワードのペアを指定できます。
および'esmtppassword'; 前者は、デフォルトで呼び出し元ユーザーのユーザー名になります。
デーモン モード
新商品のご紹介 デーモン モード
デーモンモードでは、 フェッチメール 自分自身をバックグラウンドに置き、永久に実行し、それぞれにクエリを実行します
指定されたホストと、指定されたポーリング間隔でスリープします。
起動 デーモン モード
fetchmailをデーモンモードで機能させる方法はいくつかあります。 コマンドラインで、
- デーモン or -d オプションが実行されます フェッチメール デーモンモード。 絶対です
ポーリング間隔(完了後待機する時間)である数値引数を指定します。
最後のサーバーでのポーリングサイクル全体、および次のポーリングサイクルを開始する前に
最初のサーバー)秒単位で。
例:単に呼び出す
fetchmail -d 900
したがって、 〜/ .fetchmailrc ファイル(それらを除く
'skip'動詞で明示的に除外)15分にXNUMX回よりも少し少ない頻度
(正確には:15分+投票にかかる時間)。
でポーリング間隔を設定することも可能です 〜/ .fetchmailrc と言ってファイル
'デーモンを設定します'、 どこ秒の整数です。 もし、するなら
これにより、fetchmailは、コマンドでオーバーライドしない限り、常にデーモンモードで起動します-
行オプション--daemon0または-d0。
ユーザーごとに許可されるデーモンプロセスはXNUMXつだけです。 デーモンモードでは、 フェッチメール ごとに設定します
これを保証するためのユーザーロックファイル。 (ただし、FETCHMAILHOMEをごまかして設定することはできます
この設定を克服するための環境変数ですが、その場合はあなたの責任です
同じサーバーをXNUMXつのプロセスで同時にポーリングしていないことを確認します。)
目覚め 背景 デーモン
通常、バックグラウンドでデーモンを使用してfetchmailを呼び出すと、ウェイクアップシグナルが
デーモンになり、出力なしで終了します。 次に、バックグラウンドデーモンが次のポーリングサイクルを開始します
すぐに。 ウェイクアップ信号SIGUSR1は、手動で送信することもできます。 ウェイクアップアクション
また、失敗したために接続がくさびになったことを示す「くさび形」フラグをすべてクリアします
認証または複数のタイムアウト。
終了 背景 デーモン
オプション - 終了する 実行中のデーモンプロセスをウェイクアップする代わりに強制終了します(
そのようなプロセスはありません、 フェッチメール 通知します)。 --quitオプションが最後に表示される場合
コマンドライン、 フェッチメール 実行中のデーモンプロセスを強制終了してから終了します。 さもないと、
フェッチメール 最初に実行中のデーモンプロセスを強制終了し、次に
別のオプション。
有用 オプション for デーモン モード
この -L or --ログファイル オプション(キーワード:ログファイルの設定)は有効な場合のみ
fetchmailがデタッチされ、デーモンモードになっている場合。 ご了承ください ログファイル しなければなりません 存在する
fetchmailが実行され、使用できます touch(1)ファイル名を唯一の引数とするコマンド
それを作成する。
このオプションを使用すると、ステータスメッセージを指定されたログファイルにリダイレクトできます(
ログファイル名のオプション)。 ログファイルは追加用に開かれているため、以前のメッセージ
削除されません。 これは主に構成のデバッグに役立ちます。 ご了承ください
fetchmailは、ログファイルがローテーションされているかどうかを検出しません。ログファイルは、次の場合にXNUMX回だけ開かれます。
fetchmailが開始します。 ログファイルをローテーションした後、その前にfetchmailを再起動する必要があります
それを圧縮します(該当する場合)。
この --syslog オプション(キーワード:set syslog)を使用すると、ステータスメッセージとエラーメッセージをリダイレクトできます
に放出された syslog(3)可能な場合はシステムデーモン。 メッセージは次のIDでログに記録されます
フェッチメール、施設 LOG_MAIL、および優先順位 LOG_ERR, LOG_ALERT or LOG_INFO。 この
オプションは、ステータスとステータスを示すエラーメッセージをログに記録することを目的としています。
サーバーからメールをフェッチしている間のデーモンと結果。 コマンドのエラーメッセージ
行オプションと解析 .fetchmailrc ファイルはまだstderrまたはに書き込まれます
指定されたログファイル。 The --nosyslog オプションはの使用をオフにします syslog(3)、
でオンになりました 〜/ .fetchmailrc ファイル。 このオプションは、特定の状況ではオーバーライドされます。
by --ログファイル (参照)。
この -N or --nodetach オプションは、デーモンプロセスのバックグラウンドとデタッチを抑制します
その制御端末から。 これは、デバッグや、fetchmailが次のように実行される場合に役立ちます。
などのスーパーバイザープロセスの子 INIT(8)またはGerrit Pape's それを実行します(8)。 これに注意してください
また、logfileオプションは無視されます。
デーモンモードで実行中にPOP2またはIMAP2bisサーバーをポーリングしている間、一時的なエラーが発生することに注意してください
(DNSの失敗やsendmailの配信拒否など)は、fetchallオプションを強制的にオンにする場合があります
次のポーリングサイクルの期間。 これは堅牢性の機能です。 それは、
メッセージはフェッチされます(したがって、メールサーバーによって表示されたとマークされます)が、ローカルに配信されません
一時的なエラーが発生すると、次のポーリングサイクル中に再フェッチされます。 (IMAP
ロジックはメッセージが配信されるまでメッセージを削除しないため、この問題は発生しません。)
タッチまたは変更した場合 〜/ .fetchmailrc fetchmailがデーモンモードで実行されている間のファイル、
これは、次のポーリングサイクルの開始時に検出されます。 変更されたとき
〜/ .fetchmailrc が検出されると、fetchmailはそれを再読み込みし、最初から再起動します( exec(2);
新しいインスタンスでは状態情報は保持されません)。 fetchmailがする必要がある場合は注意してください
パスワードを照会します。 〜/ .fetchmailrc ファイルの構文、新しい
インスタンスは起動時に静かに静かに消えます。
管理者 OPTIONS
この --郵便局長 オプション(キーワード:set postmaster)は、最後のリゾートを指定します
一致するローカル受信者がいない場合にマルチドロップメールが転送されるユーザー名
見つかった。 'bouncemail'グローバルの場合、配信不能メールの宛先としても使用されます
'bouncemail'グローバルオプションがオフの場合、オプションはオフになり、さらにスパムブロックされたメールの場合
オフで、「spambounce」グローバルオプションがオンになっています。 このオプションのデフォルトは、呼び出したユーザーです
フェッチメール。 呼び出し元のユーザーがrootの場合、このオプションのデフォルトはユーザーです
「ポストマスター」。 postmasterを空の文字列に設定すると、上記のようなメールが発生します
破棄する-しかし、これは通常悪い考えです。 の説明も参照してください
以下の「環境」セクションの「FETCHMAILUSER」環境変数。
この --バウンス 「setnobouncemail」グローバルオプションのように動作します。
この - 見えない オプション(キーワード:set invisible)は、fetchmailを非表示にしようとします。
通常、fetchmailは他のMTAと同じように動作します-Receivedヘッダーを生成します
送信チェーン内での位置を説明する各メッセージに挿入し、MTAに通知します
メールが、fetchmail自体が実行されているマシンから送信されたことを転送します。 の場合
invisibleオプションがオンの場合、Receivedヘッダーは抑制され、fetchmailはスプーフィングを試みます。
MTAは、メールサーバーホストから直接送信されたものであると考えるように転送します。
この --showdots オプション(キーワード:showdotsを設定)は、fetchmailに進行状況のドットを表示するように強制します
出力がファイルに送られる場合、またはfetchmailが冗長モードでない場合。 Fetchmailは
--verboseモードで実行した場合のデフォルトのドット と 出力はコンソールに送られます。 このオプションは
--silentモードでは無視されます。
指定することにより -- トレースポール オプションで、fetchmailに情報を追加するように依頼できます
「polling{label}account {user}」のフォームでヘッダーを受け取りました。ここで、{label}はアカウントです。
ラベル(指定されたrcfileから、通常は 〜/ .fetchmailrc)および{user}はユーザー名です
これは、メールサーバーへのログオンに使用されます。 このヘッダーは、フィルタリングを行うために使用できます
有用なヘッダー情報が利用できず、別のメールが必要なメール
異なるメールボックスにソートされたアカウント(これは、たとえば、
メーリングリストを実行している同じサーバー上のアカウントであり、を使用してリストにサブスクライブされている
そのアカウント)。 デフォルトでは、そのようなヘッダーは追加されません。 の .fetchmailrc、これは呼ばれます
'tracepolls'。
検索 故障 モード
プロトコル フェッチメール メールサーバーと通信するための使用は、防弾の隣にあります。 通常は
ポート25に転送する操作では、メッセージが削除されることはありません(または削除のマークが付けられることもありません)。
クライアント側のSMTPリスナーが次のことを確認するまでホスト上で フェッチメール それ
メッセージは配信が受け入れられたか、スパムブロックが原因で拒否されました。
ただし、MDAに転送する場合は、エラーが発生する可能性が高くなります。 一部のMDAは
「安全」であり、配信エラーが発生した場合でも、XNUMXつでもゼロ以外のステータスを確実に返します。
一時的なリソース制限。 The メイルドロップ(1)プログラムはこんな感じ。 ほとんどのプログラムもそうです
などのメール転送エージェントとして設計されています sendmail(1)のsendmailラッパーを含む
接尾辞と exim(1)。 これらのプログラムは、信頼できる肯定的な承認を返し、
メールを失うリスクなしにmdaオプションと一緒に使用できます。 ただし、安全でないMDAは0を返す可能性があります
配達失敗でも。 これが発生した場合、メールが失われます。
のノーマルモード フェッチメール そのままにして、「新しい」メッセージのみをダウンロードしようとすることです
(および削除されていない)メッセージをサーバー上で直接読んだ(または
前 フェッチメール - 保つ)。 しかし、あなたはあなたがすでに読んだメッセージを見つけるかもしれません
--allを指定しなくても、サーバーはフェッチ(および削除)されます。 がある
これが発生する可能性があるいくつかの理由。
2つは、POP2を使用している可能性があります。 POPXNUMXプロトコルには、
メッセージの「新しい」または「古い」状態。 フェッチメール すべてのメッセージを新しいものとして扱う必要があります
時間。 しかし、POP2は廃止されているため、これはありそうにありません。
潜在的なPOP3の問題は、メールボックスの途中にメッセージを挿入するサーバーである可能性があります
(メールの一部のVMS実装はこれを行うと噂されています)。 ザ フェッチメール コードは
新しいメッセージがメールボックスの最後に追加されます。 これが真実でない場合、
一部の古いメッセージを新しいものとして扱い、その逆も同様です。 fastuidl0を設定しながらUIDLを使用すると
これを修正します。そうでない場合は、IMAPへの切り替えを検討してください。
さらに別のPOP3の問題は、ユーザーの自宅で一時ファイルを作成できない場合です。
ディレクトリの場合、一部のPOP3サーバーは、fetchmailの原因となる文書化されていない応答を返します。
「メールなし」を偽って報告します。
IMAPコードは、サーバーフラグ\ Seenの有無を使用して、
メッセージは新しいものではありません。 これは正しいことではありません。fetchmailは
UIDVALIDITYとUIDを使用しますが、まだそれを行いません。 Unixでは、IMAPに依存します
サーバーは、メールユーザーエージェントによって設定されたBSDスタイルのステータスフラグに気づき、\Seenフラグを設定します
必要に応じてそれらから。 私たちが知っているすべてのUnixIMAPサーバーはこれを行いますが、そうではありません
IMAPRFCによって指定されています。 そうでないサーバーにつまずいた場合、症状は
ホストですでに読んだメッセージは、サーバーにとって新しいものに見えます。 これで
(ありそうもない)ケース、あなたがフェッチしたメッセージだけ フェッチメール - 保つ 両方とも削除されません
とマークされた古い。
ETRNおよびODMRモードでは、 フェッチメール 実際にはメッセージを取得しません。 代わりに、それは尋ねます
サーバーのSMTPリスナーは、SMTPを介してクライアントへのキューフラッシュを開始します。 したがってそれ
未配信のメッセージのみを送信します。
SPAM フィルタリング
多くのSMTPリスナーを使用すると、管理者は迷惑メールをブロックする「スパムフィルター」を設定できます。
指定されたドメインからの電子メール。 この機能をトリガーするMAILFROMまたはDATA行は
(残念ながら)リスナーによって異なるSMTP応答を引き出します。
新しいバージョンの sendmail 571のエラーコードを返します。
RFC2821によると、この状況で返される正しいものは550"要求されています
アクションは実行されません:メールボックスが利用できません」(ドラフトは「[たとえば、メールボックスが見つかりません、いいえ
アクセス、またはポリシー上の理由でコマンドが拒否されました]。 ")。
古いバージョンの exim MTAは501「パラメータまたは引数の構文エラー」を返します。
この postfix MTAはスパム対策応答として554を実行します。
ズマイラー 500応答のコードを拒否する可能性があります(その後に拡張ステータスコードが続きます
詳細情報が含まれています)。
リターンコード フェッチメール スパム対策応答として扱い、メッセージを破棄することができます
'antispam'オプションで設定します。 これはのXNUMXつです の その下でのXNUMXつの状況
fetchmailはメールを破棄します(他は以下で説明する552および553エラーです。
メッセージIDがすでに表示されているマルチドロップメッセージの抑制)。
If フェッチメール がIMAPサーバーからフェッチしている場合、スパム対策応答が検出され、
ヘッダーがフェッチされた直後に、メッセージを読み取らずに拒否されたメッセージ
メッセージ本文。 したがって、スパムメッセージ本文のダウンロードにお金を払う必要はありません。
デフォルトでは、スパム対策応答のリストは空です。
Status スパムバウンス グローバルオプションがオンの場合、スパムブロックされたメールがトリガーされます
RFC1892 / RFC1894からのメールを受け付けないことを発信者に通知する、バウンスメッセージ
それ。 バグも参照してください。
SMTP / ESMTP ERROR 取り扱い
上記のスパムブロックに加えて、fetchmailは特別なアクションを実行します。
--softbounceオプションで変更—次のSMTP/ESMTPエラー応答コード
452(不十分なシステムストレージ)
後で取得できるように、メッセージをサーバーのメールボックスに残します。
552(メッセージが固定の最大メッセージサイズを超えています)
サーバーからメッセージを削除します。 発信者にバウンスメールを送信します。
553(無効な送信ドメイン)
サーバーからメッセージを削除します。 バウンスメールをに送信しようとさえしないでください
オリジネーター。
500以上の他のエラーは、発信者にメールを返送します。
--softbounceによって抑制されます。 バグも参照してください。
、 RUN CONTROL FILE
fetchmailを設定するための好ましい方法は、 .fetchmailrc あなたの家のファイル
ディレクトリ(これは、直接、テキストエディタを使用して、または間接的に行うことができます) fetchmailconf).
コマンドライン引数とこの中の引数の間に矛盾がある場合
ファイルの場合、コマンドライン引数が優先されます。
パスワードのセキュリティを保護するために、 〜/ .fetchmailrc 通常はそれ以上ないかもしれません
0700(u = rwx、g =、o =)以上の権限; フェッチメール 不平を言い、そうでなければ終了します(これは
--versionがオンの場合、チェックは抑制されます)。
あなたは読むことができます .fetchmailrc 次の場合に実行されるコマンドのリストとしてのファイル フェッチメール is
引数なしで呼び出されます。
ラン 管理 構文
コメントは「#」で始まり、行末まで続きます。 それ以外の場合、ファイル
一連のサーバーエントリまたは自由形式のグローバルオプションステートメントで構成され、
トークン指向の構文。
トークンには、文法キーワード、数字(XNUMX進数シーケンス)、XNUMX種類があります。
引用符で囲まれていない文字列、および引用符で囲まれた文字列。 引用符で囲まれた文字列は二重引用符で囲まれ、
空白を含みます(引用符で囲まれた数字は文字列として扱われます)。 引用符で囲まれた文字列に注意してください
XNUMX行以上にまたがる場合は、改行文字も含まれます。
行を結合するには、円記号を使用します(以下を参照)。 引用符で囲まれていない文字列は、空白で区切られています
数値でも文字列でも引用されておらず、特殊文字'、'、';'、を含まないトークン
':'、または'='。
サーバーエントリ内のトークンは、任意の量の空白で区切られますが、それ以外の場合は無視されます。 君は
バックスラッシュエスケープシーケンスを使用できます(LFの場合は\ n、HTの場合は\ t、BSの場合は\ b、CRの場合は\ r、\NNN for
0進数(nnnは0から始めることはできません)、\ XNUMXOOO XNUMX進数の場合、および\ xhh XNUMX進数の場合)埋め込みます
文字列内の印刷不可能な文字または文字列区切り文字。 引用符で囲まれた文字列では、円記号
行の最後で、円記号自体と改行(LFまたはNL、新しい
line)長い文字列を折り返すことができるように、無視される文字。 でバックスラッシュなし
行末では、改行文字は文字列の一部になります。
警告: これらはCスタイルのエスケープシーケンスに似ていますが、同じではありません。 fetchmail
これらのXNUMXつのスタイルのみをサポートします。 Cは、以下で構成されるより多くのエスケープシーケンスをサポートします。
バックスラッシュ(\)とXNUMX文字ですが、XNUMX進コードをサポートしておらず、サポートしていません
0進表記の先行233が必要です。 例:fetchmailは\XNUMXをと同じように解釈します
\ xE9(ラテン語の小文字eと鋭角)。ここで、Cは\233を0233進数の9=\xXNUMXBとして解釈します。
(CSI、制御シーケンスイントロデューサー)。
各サーバーエントリは、キーワード「poll」または「skip」のいずれかと、それに続くサーバーで構成されます。
名前、サーバーオプション、任意の数のユーザー(またはユーザー名)
説明の後にユーザーオプションが続きます。 注:構文エラーの最も一般的な原因は次のとおりです。
ユーザーとサーバーのオプションを混同するか、ユーザーの説明の前にユーザーオプションを配置します。
下位互換性のために、「サーバー」という単語は「poll」の同義語です。
ノイズキーワード「および」、「with」、「has」、「wants」、および「options」は、
英語に似せるためのエントリ。 それらは無視されますが、エントリをはるかに簡単にすることができます
一目で読む。 句読文字':'、';' および「、」も無視されます。
世論調査 対 スキップ
'poll'動詞は、引数なしで実行されたときにこのホストにクエリを実行するようにfetchmailに指示します。 ザ
「スキップ」動詞は フェッチメール で明示的に指定されていない限り、このホストをポーリングしないでください
コマンドライン。 (「skip」動詞を使用すると、テストエントリを安全に試すことができます。または
一時的にダウンしているホストのエントリを簡単に無効にします。)
キーワード/オプション まとめ
法的なオプションは次のとおりです。 角括弧で囲まれたキーワードサフィックスはオプションです。
短いコマンドラインオプションに対応するものの後には「-」と適切なものが続きます
オプションレター。 オプションが単一の操作モードにのみ関連する場合は、次のように示されます。
シングルドロップモードまたはマルチドロップモードの場合は、それぞれ「s」または「m」。
法的なグローバルオプションは次のとおりです。
キーワードオプトモード機能
─────────────────────────────────────────────────── ──────────────────
setデーモン-dでバックグラウンドポーリング間隔を設定します
秒です。
setpostmaster最後のリゾートの名前を付けます
メール受信者(デフォルト:ユーザー
fetchmailを実行している場合、「postmaster」の場合
rootユーザーによって実行されます)
バウンスメールを設定する送信者への直接エラーメール
(デフォルト)
バウンスメールを設定しないローカルへの直接エラーメール
郵便局長(
上記の「postmaster」グローバルオプション)。
スパムバウンスを設定しないスパムブロックされたメールをバウンスしない
(ディフォルト)。
スパムバウンスを設定するバウンスブロックされたスパムブロックされたメール
(「スパム対策」ユーザーによる
オプション)目的地に戻る
「バウンスメール」で示されます
グローバルオプション。 警告:しないでください
これを使用してスパムを返送します
送信者-ほとんどのスパムが送信されます
偽の送信者アドレスを使用しているため
このオプションは無実を傷つけます
傍観者。
ソフトバウンスを設定しない永久に配信不能な削除
郵便物。 使用をお勧めします
構成の場合はこのオプション
徹底的にテストされています。
ソフトバウンスを設定します永久に配信不能に保ちます
一時的なエラーのようにメール
発生しました(デフォルト)。
setlogfile-Lエラーを追加するファイルの名前と
ステータスメッセージ。 それだけ
デーモンモードで有効な場合
fetchmailがデタッチします。 効果的な場合、
オーバーライド セッションに syslog.
set idfile-iUIDを保存するファイルの名前
のリスト。
設定syslogを介してエラーログを実行します
syslog(3)。 によってオーバーライドされる可能性があります セッションに
ログファイル.
syslogを設定しないエラーログをオフにする
syslog(3)。 (ディフォルト)
プロパティの設定によって無視される文字列値
fetchmail(によって使用される可能性があります
拡張スクリプト)。
正当なサーバーオプションは次のとおりです。
キーワードオプトモード機能
─────────────────────────────────────────────────── ───────────────
メールサーバーのDNS名を指定して
投票名を上書きする
proto [col] -pプロトコルを指定します(ケース
鈍感):POP2、POP3、IMAP、
APOP、KPOP
local[domains]m対象となるドメインを指定します
ローカルとして
ポートTCP/IPサービスポートを指定します
(廃止されました。代わりに「service」を使用してください)。
service -Pサービス名(数値)を指定します
値も許可され、
TCP / IPポート番号と見なされます)。
auth [enticate]認証タイプを設定します(デフォルト
'どれか')
タイムアウト-tサーバーの非アクティブタイムアウト
秒(デフォルトは300)
封筒-Em封筒アドレスヘッダーを指定します
名
封筒なしm封筒の検索を無効にします
住所
qvirtual -QmQmail仮想ドメインプレフィックス
ユーザー名から削除
akamの代替DNS名を指定します
メールサーバー
インターフェイス-私は必要なIPインターフェイスを指定します
サーバーの投票に備えて
場所
monitor-M監視するIPアドレスを指定します
アクティビティ
プラグインコマンドを指定します。
サーバー接続を行います。
プラグアウト指定するコマンド
リスナー接続を行います。
dnsmマルチドロップのDNSルックアップを有効にする
(デフォルト)
nodnsmマルチドロップのDNSルックアップを無効にする
checkaliasmIPアドレスによる比較を行う
マルチドロップ
checkaliasなしm名前による比較を行う
マルチドロップ(デフォルト)
uidl-UPOP3にクライアント側の使用を強制します
UIDL(推奨)
nouidlクライアント側のPOP3使用をオフにします
UIDL(デフォルト)
間隔N回のポーリングごとにのみこのサイトをチェックしてください
サイクル; Nは数値引数です。
tracepollsにポーリングトレース情報を追加します
受信したヘッダー
プリンシパルKerberosプリンシパルを設定します(のみ
IMAPおよびkerberosで役立ちます)
esmtpnameRFC2554のセット名
ESMTPへの認証
サーバー。
esmtppasswordRFC2554のパスワードを設定します
ESMTPへの認証
サーバー。
bad-header悪いメッセージを処理する方法
ヘッダ。 拒否できます(デフォルト)または
受け入れる。
法的なユーザーの説明とオプションは次のとおりです。
キーワードオプトモード機能
─────────────────────────────────────────────────── ─────────────────
user[name]-uこれはユーザーの説明と
サーバーの後に最初に来る必要があります
説明と可能な後
サーバーオプション、およびユーザーの前
オプション。
によってリモートユーザー名を設定します
それ自体またはその後に「そこに」、または
後に続く場合はローカルユーザー名
'ここ'。
ローカルユーザーとリモートユーザーを接続します
名
ローカルユーザーとリモートユーザーを接続する
名
pass[word]リモートアカウントのパスワードを指定してください
sslを介してサーバーに接続します
SSLを使用して指定された基本プロトコル
暗号化
sslcertのファイルを指定します クライアント 側
パブリックSSL証明書
sslcertfile信頼できるCAでファイルを指定します
証明書
sslcertpathc_rehash-edディレクトリを次のように指定します
信頼できるCA証明書。
sslkeyのファイルを指定します クライアント 側
秘密のSSLキー
sslproto接続用のSSLプロトコルを強制します
folder-r照会するリモートフォルダーを指定します
smtphost-S転送先のsmtpホストを指定します
fetchdomainsmメールを送信するドメインを指定します
フェッチする必要があります
smtpaddress-D配置するドメインを指定します
RCPTTO行
smtpnameユーザーとドメインを指定します
RCPTTO行を入力します
antispam-ZSMTPが返すものを指定します
スパムポリシーブロックとして解釈されます
mda-mローカル配信のMDAを指定します
bsmtp-o追加するBSMTPバッチファイルを指定します
〜へ
preconnect各前に実行されるコマンド
接続
postconnect各後に実行されるコマンド
接続
keep-k表示されたメッセージをから削除しない
サーバー(POP3の場合、uidlは
推奨)
flash-F前に表示されたすべてのメッセージをフラッシュします
クエリ(危険)
limitflushすべての特大メッセージをフラッシュします
クエリする前に
fetchall -a表示されているかどうかに関係なく、すべてのメッセージをフェッチします
rewriteの宛先アドレスを書き換えます
返信(デフォルト)
stripcrストリップキャリッジリターン
行の
forcecr強制キャリッジリターン
ライン
pass8bits BODY=8BITMIMEをESMTPに強制します
リスナー
dropstatusStripStatusおよびX-Mozilla-Status
受信メールからの行
dropdeliveredStripDelivered-からの行へ
メール受信
mimedecodequoted-printableを8ビットに変換
MIMEメッセージで
新しいメッセージを待っているアイドルアイドル
各投票後(IMAPのみ)
nokeep-Kサーバーから表示されたメッセージを削除します
(デフォルト)
フラッシュなし表示されたすべてのメッセージをフラッシュしない
クエリする前(デフォルト)
fetchallなし新しいメッセージのみを取得します
(デフォルト)
書き換えなしヘッダーを書き換えない
キャリッジリターンを削除しないでください
(デフォルト)
noforcecrでキャリッジリターンを強制しないでください
EOL(デフォルト)
pass8bitsなしBODY=8BITMIMEをESMTPに強制しないでください
リスナー(デフォルト)
ドロップステータスなしステータスヘッダーをドロップしない
(デフォルト)
dropdeliveredなしDelivered-Toヘッダーをドロップしないでください
(デフォルト)
mimedecodeはありませんquoted-printableをに変換しないでください
MIMEメッセージの8ビット(デフォルト)
アイドルなし新しいのを待ってアイドルしないでください
各ポーリング後のメッセージ(IMAP
のみ)
limit-lメッセージサイズの制限を設定します
warnings-wメッセージサイズの警告間隔を設定します
batchlimit-b転送するメッセージの最大数
シングルコネクト
fetchlimit-B単一でフェッチするメッセージの最大数
接続する
fetchsizelimitフェッチする最大#メッセージサイズ
単一トランザクション
fastuidl最初の見えないものに二分探索を使用する
メッセージ(POP3のみ)
expunge-e#thごとに抹消を実行します
メッセージ(IMAPおよびPOP3のみ)
プロパティ文字列値はによって無視されます
fetchmail(によって使用される可能性があります
拡張スクリプト)
すべてのユーザーオプションは、ユーザーの説明(ユーザーまたはユーザー名オプション)で始まる必要があります。
すべてのサーバーの説明とオプション。
.fetchmailrcファイルでは、「envelope」文字列引数の前に空白を付けることができます-
分離された番号。 この数は、指定されている場合、スキップするそのようなヘッダーの数です。
(つまり、引数1は、指定されたタイプのXNUMX番目のヘッダーを選択します)。 これはいつかです
ISPのローカル配信エージェントによって作成された偽の封筒ヘッダーを無視するのに役立ちます。
内部転送(たとえば、メール検査システムを介して)。
キーワード もしアカウントが違う場合: 対応する に オプション スイッチ
'folder'および'smtphost'オプション(同等のコマンドラインとは異なります)は、
スペースまたはコンマで区切られた名前のリスト。
次の場合を除いて、すべてのオプションは明白なコマンドライン引数に対応しています。
'interval'、'aka'、'is'、'to'、'dns' /'no dns'、'checkalias' /'no checkalias'、'password'、
'preconnect'、'postconnect'、'localdomains'、'stripcr' /'no stripcr'、'forcecr' /'no
forcecr'、' pass8bits'/'pass8bitsなし''dropstatus / dropstatusなし'、' dropdelivered / no
dropdelivered'、' mimedecode / no mimedecode'、' no idle'、および'noenvelope'。
'via'オプションは、複数の構成が
同じサイト。 存在する場合、文字列引数はの実際のDNS名として使用されます
クエリするメールサーバーホスト。 これにより、pollの引数が上書きされます。
構成の明確なラベルにするだけです(たとえば、コマンドで与えるもの
このホストを明示的に照会する行)。
'interval'オプション(数値引数を取る)を使用すると、サーバーをより少なくポーリングできます
基本的なポーリング間隔よりも頻繁に。 「間隔N」と言う場合、サーバーはこのオプションです
がアタッチされている場合は、N回のポーリング間隔ごとにのみクエリが実行されます。
シングルドロップ 対 マルチドロップ オプション
「」というタイトルのセクションを必ずお読みください 、 USE そして 乱用 OF マルチドロップ メールボックス あなたの場合
マルチドロップモードを使用する予定です。
'is'または'to'キーワードは、次のローカル(クライアント)名(またはサーバー名)を関連付けます
エントリにメールサーバーのユーザー名を使用して、=)で区切られたクライアント名へのマッピング。 もし
is/toリストの最後の名前は「*」です。認識されない名前は単純に渡されます。 ノート
それまで フェッチメール バージョン6.3.4を含め、これらのリストにはローカルパーツのみを含めることができます
ユーザー名の数(fetchmailは@記号の前の部分のみを参照します)。 フェッチメール
バージョン6.3.5以降では、これらのマッピングの左側で完全なアドレスがサポートされています。
また、「localdomains」、「aka」、「via」、または同様のマッピングよりも優先されます。
単一のローカル名を使用して、ユーザー名が
クライアントマシンは、メールサーバー上の名前とは異なります。 シングルしかない場合
ローカル名、メールはメッセージの受信に関係なくそのローカルユーザー名に転送されます。
To、Cc、およびBccヘッダー。 この場合、 フェッチメール DNSルックアップは行いません。
複数のローカル名(または名前マッピング)がある場合、 フェッチメール 封筒を見る
ヘッダー(構成されている場合)、およびそれ以外の場合は、取得されたのReceived、To、Cc、およびBccヘッダー
メール(これは「マルチドロップモード」です)。 一致するホスト名部分を持つアドレスを検索します
投票名または「via」、「aka」、「localdomains」オプション、および通常は
DNSがメールサーバーのエイリアスであると通知するホスト名部分。 の議論を参照してください
一致するアドレスの詳細については、「dns」、「checkalias」、「localdomains」、および「aka」を参照してください。
処理されます。
If フェッチメール メールサーバーのユーザー名またはローカルドメインアドレスと一致することはできません。メールは
バウンスされます。 通常は送信者にバウンスされますが、「bouncemail」グローバルの場合
オプションがオフの場合、メールは代わりにローカルのポストマスターに送信されます。 (「ポストマスター」を参照
グローバルオプション)。 バグも参照してください。
'dns'オプション(通常はオン)は、マルチドロップメールボックスからのアドレスの方法を制御します
チェックしました。 オンにすると、ロジックが「aka」または「aka」と一致しない各ホストアドレスをチェックできるようになります。
DNSで検索することによる「localdomains」宣言。 メールサーバーのユーザー名が
一致するホスト名部分にアタッチされていることが認識されると、そのローカルマッピングが次のリストに追加されます。
ローカル受信者。
'checkalias'オプション(通常はオフ)は、'dns'キーワードによって実行されるルックアップを拡張します
マルチドロップモードでは、を使用して自分自身を識別するリモートMTAに対処する方法を提供します
エイリアスを使用してポーリングされている間、それらの正規名。 そのようなサーバーがポーリングされると、
エンベロープアドレスを抽出するためのチェックが失敗し、 フェッチメール を使用して配信に戻ります
To / Cc / Bccヘッダー(以下の「ヘッダーとエンベロープアドレス」を参照)。 このオプションの指定
指示する フェッチメール 両方のポーリング名に関連付けられているすべてのIPアドレスを取得します
リモートMTAおよびIPアドレスの比較を行うために使用される名前。 これ
リモートサーバーが頻繁に正規名を取得する状況で役立ちます
変更。それ以外の場合は、rcfileを変更する必要があります。 「checkalias」にはありません
'nodns'がrcfileで指定されている場合の効果。
'aka'オプションは、マルチドロップメールボックスで使用するためのものです。 リストを事前に宣言することができます
サーバーのDNSエイリアスの数。 これは、スペースを交換できる最適化ハックです
スピードのために。 いつ フェッチメール、マルチドロップメールボックスを処理している間、メッセージを調べます
メールサーバーの名前を探すヘッダー、一般的なものを事前に宣言すると、
DNSルックアップを実行する必要があります。 注:「aka」の引数として指定する名前は、次のように一致します。
サフィックス-(たとえば)「akanetaxs.com」を指定すると、これはホスト名だけでなく一致します
netaxs.comですが、「。netaxs.com」で終わるホスト名。 (たとえば)pop3.netaxs.comなど
およびmail.netaxs.com。
'localdomains'オプションを使用すると、fetchmailが必要とするドメインのリストを宣言できます
ローカルを検討してください。 fetchmailがマルチドロップモードでアドレス行を解析している場合、および
ホスト名の末尾のセグメントが宣言されたローカルドメインと一致し、そのアドレスが渡されます
リスナーまたはMDAまで変更なし(ローカル名のマッピングは 適用)。
'localdomains'を使用している場合は、'エンベロープなし'を指定する必要がある場合もあります。
無効になります フェッチメール受信回線からエンベロープアドレスを推定する通常の試み
またはX-Envelope-Toヘッダーまたは'envelope'によって以前に設定されたヘッダー。 もし、あんたが
デフォルトのエントリで「エンベロープなし」を設定すると、個々のエントリでそれを元に戻すことができます
'封筒を使用して'。 特別な場合として、「封筒「受信済み」」は、
受信回線のデフォルトの解析。
この password オプションには文字列引数が必要です。これは、
エントリのサーバー。
'preconnect'キーワードを使用すると、直前に実行するシェルコマンドを指定できます。
毎回 フェッチメール メールサーバー接続を確立します。 これはあなたがしている場合に役立つかもしれません
の助けを借りて安全なPOP接続を設定しようとしています ssh(1)。 コマンドの場合
ゼロ以外のステータスを返すと、そのメールサーバーのポーリングは中止されます。
同様に、「postconnect」キーワードを使用すると、シェルコマンドを次のように指定できます。
メールサーバー接続が切断されるたびに実行されます。
'forcecr'オプションは、LFで終了する行にCRLFのみを与えるかどうかを制御します
転送前の終了。 厳密に言えば、RFC821にはこれが必要ですが、MTAはほとんどありません。
このオプションが通常オフになるように要件を適用します(このようなMTAのXNUMXつであるqmailのみがオンになります)
執筆時点での重要な使用)。
'stripcr'オプションは、取得したメールからキャリッジリターンを取り除くかどうかを制御します
転送される前に。 デフォルトでは次のように設定されるため、通常はこれを設定する必要はありません。
MDAが宣言されているが「オフ」(CRストリッピング)の場合は「オン」(CRストリッピングが有効)
無効)SMTP経由の転送の場合。 「stripcr」と「forcecr」の両方がオンの場合、「stripcr」
オーバーライドします。
'pass8bits'オプションは、愚かに平手打ちするMicrosoftメールプログラムに対処するために存在します
すべてに「Content-Transfer-Encoding:7bit」。 このオプションをオフにすると(デフォルト)、
そのようなヘッダーが存在し、 フェッチメール ESMTP対応リスナーにBODY=7BITを宣言します。 これ
実際に8ビットISOまたはKOI-8文字セットを使用しているメッセージで問題が発生します。
すべての文字の上位ビットを削除することにより、文字化けします。 'pass8bits'がオンの場合、
フェッチメール ESMTP対応のリスナーに対してBODY=8BITMIMEを宣言するように強制されます。 の場合
リスナーは8ビットクリーンです(現在のすべての主要なものがそうであるように)正しいことはおそらく
結果。
'dropstatus'オプションは、空でないStatus行とX-Mozilla-Status行が空でないかどうかを制御します
フェッチされたメール(デフォルト)に保持されるか、破棄されます。 それらを保持することで、MUAは
サーバー上で表示済みとマークされたメッセージ(存在する場合)を確認します。 一方、それはできます
一部の新着メール通知機能を混乱させます。これは、ステータス行が含まれているものにはすべてが含まれていると想定しています。
見られました。 (注:一部のバグのあるPOPサーバーによって挿入された空のステータス行は
無条件に破棄されます。)
'dropdelivered'オプションは、Delivered-Toヘッダーをフェッチしたままにするかどうかを制御します
メール(デフォルト)または破棄。 これらのヘッダーは、QmailおよびPostfixメールサーバーによって追加されます
メールループを回避するためですが、メールサーバーを「ミラーリング」しようとすると邪魔になる可能性があります
同じドメイン内。 注意して使用してください。
'mimedecode'オプションは、quoted-printableエンコーディングを使用するMIMEメッセージかどうかを制御します
自動的に純粋な8ビットデータに変換されます。 ESMTPにメールを配信する場合-
有能な8ビットクリーンリスナー(sendmailなどの主要なMTAをすべて含む)、
これにより、quoted-printableメッセージヘッダーとデータが8ビットデータに自動的に変換されます。
メールを読むときに理解しやすくなります。 あなたの電子メールプログラムが対処する方法を知っているなら
MIMEメッセージの場合、このオプションは必要ありません。 mimedecodeオプションは
デフォルト。ヘッダーでRFC2047変換を行うと、文字セット情報が破棄されるためです。
ヘッダーのエンコーディングが本文のエンコーディングと異なる場合、悪い結果につながる可能性があります。
'idle'オプションは、RFC2177IDLEをサポートするIMAPサーバーで使用することを目的としています。
コマンド拡張機能ですが、厳密には必要ありません。 有効になっている場合、fetchmail
IDLEがサポートされていることを検出すると、各ポーリングの最後にIDLEが発行されます。 この意志
IMAPサーバーに接続を開いたままにして、新着メールが届いたときにクライアントに通知するように指示します
利用可能。 IDLEがサポートされていない場合、fetchmailは定期的に発行してIDLEをシミュレートします
NOOP。 リンクを頻繁にポーリングする必要がある場合、IDLEはTCP/IPを排除することで帯域幅を節約できます
接続およびLOGIN/LOGOUTシーケンス。 一方、IDLE接続はほとんど食べます
フェッチメールが接続を切断して他の接続を許可することは決してないため、fetchmailのすべての時間
サーバーがIDLEをタイムアウトしない限り、ポーリングが発生します。 また、複数で動作しません
フォルダ; 最初のフォルダのみがポーリングされます。
「プロパティ」オプションは拡張メカニズムです。 文字列引数を取ります。
fetchmail自体によって無視されます。 文字列引数は、構成を格納するために使用できます
それを必要とするスクリプトの情報。 特に、「-configdump」の出力
オプションを使用すると、ユーザーエントリに関連付けられたプロパティをPythonですぐに利用できるようになります
スクリプト。
その他 ラン 管理 オプション
「ここ」と「そこ」という言葉は、英語のような意味があります。 通常'ユーザーエリック
is esr'は、リモートユーザー'eric'のメールが'esr'に配信されることを意味しますが、
これを明確にするには、「user eric there is esr here」と言うか、逆に言うと、
「ここのユーザーesrはそこにエリックです」
'protocol'キーワードで使用する有効なプロトコル識別子は次のとおりです。
auto(またはAUTO)(レガシー、将来のリリースから削除される予定)
pop2(またはPOP2)(レガシー、将来のリリースから削除される予定)
pop3(またはPOP3)
sdps(またはSDPS)
imap(またはIMAP)
apop(またはAPOP)
kpop(またはKPOP)
有効な認証タイプは、「any」、「password」、「kerberos」、「kerberos_v4」、「kerberos_v5」です。
および「gssapi」、「cram-md5」、「otp」、「msn」(POP3のみ)、「ntlm」、「ssh」、「external」(のみ
IMAP)。 'password'タイプは、パスワードの通常の送信による認証を指定します
(パスワードはプレーンテキストであるか、CRAMのようにプロトコル固有の暗号化の対象である可能性があります-
MD5); 「kerberos」は フェッチメール それぞれの開始時にKerberosチケットを取得しようとします
代わりにクエリを実行し、パスワードとして任意の文字列を送信します。 そして「gssapi」はfetchmailに伝えます
GSSAPI認証を使用します。 詳細については、「auth」キーワードの説明を参照してください。
'kpop'を指定すると、KerberosV3認証を使用してポート1109経由でPOP4プロトコルが設定されます。
これらのデフォルトは、後のオプションによって上書きされる可能性があります。
いくつかのグローバルオプションステートメントがあります:'set logfile'の後に文字列が続くと、同じセットが設定されます
--logfileで指定されたグローバル。 コマンドラインの--logfileオプションは、これをオーバーライドします。 ノート
その--logfileは、fetchmailがターミナルからデタッチし、
logfileは、fetchmailが実行される前にすでに存在しており、この場合は--syslogをオーバーライドします。
また、「setdaemon」は--daemonと同様にポーリング間隔を設定します。 これは、
コマンドライン--daemonオプション; 特に--daemon0は、フォアグラウンドを強制するために使用できます
手術。 'set postmaster'ステートメントは、マルチドロップメールの送信先アドレスを設定します
ローカル一致がない場合のデフォルト。 最後に、「setsyslog」はログメッセージをに送信します
syslogdとします。
デバッグ フェッチメール
Fetchmail 墜落
fetchmailが「クラッシュ」する可能性があるには、さまざまな方法があります。つまり、操作を突然停止し、
意外と。 「クラッシュ」とは、通常、ソフトウェアが実行しなかったエラー状態を指します
単独で処理します。 よく知られている障害モードは、「セグメンテーション違反」または「信号11」または
「SIGSEGV」または略して「segfault」。 これらは、ハードウェアまたはソフトウェアによって引き起こされる可能性があります
問題。 ソフトウェアによって引き起こされたセグフォールトは、通常、簡単に同じように再現できます
一方、ハードウェアに起因するsegfaultは、コンピューターを再起動すると解消される可能性があります。
数時間電源がオフになり、使用している場合でもランダムな場所で発生する可能性があります
ソフトウェアも同じように。
ハードウェアに起因するセグフォールトを解決するには、障害のあるコンポーネントを見つけて修復または交換します
それ。 Sig11FAQ⟨http://www.bitwizard.nl/sig11/⟩は詳細をお手伝いする場合があります。
ソフトウェアによって引き起こされたsegfaultを解決するために、開発者は「スタックバックトレース」を必要とする場合があります。
有効にします フェッチメール ダンプ
デフォルトでは、fetchmailはコアダンプを抑制します。コアダンプにはパスワードやその他が含まれている可能性があるためです。
機密情報。 fetchmailのクラッシュをデバッグするには、から「スタックバックトレース」を取得します。
コアダンプは、多くの場合、問題を解決するための最も迅速な方法であり、問題を投稿するときに
メーリングリストで、開発者は「バックトレース」を要求する場合があります。
1.有用なバックトレースを取得するには、fetchmailを削除せずにインストールする必要があります
そのコンパイルシンボル。 残念ながら、インストールされているほとんどのバイナリパッケージは
削除され、シンボルが削除されたプログラムからのコアファイルは無価値です。 だからあなたはする必要があるかもしれません
fetchmailを再コンパイルします。 多くのシステムでは、次のように入力できます
ファイル`whichfetchmail`
fetchmailがシンボルストリップされているかどうかを確認します。 あなたのものが剥ぎ取られていなかったら、元気です、
続行します。削除された場合は、最初にソースコードを再コンパイルする必要があります。 そうしない
通常、それをデバッグするためにfetchmailをインストールする必要があります。
2. fetchmailを開始するシェル環境では、コアダンプを有効にする必要があります。 重要なのは
「最大コア(ファイル)サイズ」。通常、「limit」という名前のツールで構成できます。
「ulimit」。 詳細については、シェルのドキュメントを参照してください。 人気のbashシェルでは、
「ulimit-Scunlimited」はコアダンプを許可します。
3.コアダンプを許可するには、fetchmailにも通知する必要があります。 これを行うには、次のコマンドでfetchmailを実行します
-d0 -v オプション。 多くの場合、追加する方が簡単です --nosyslog -N 同様に。
最後に、クラッシュを再現する必要があります。 ディレクトリからfetchmailを開始するだけです
入力してコンパイルした場所 ./fetchmail、したがって、完全なコマンドラインはで始まります
./fetchmail -Nvd0 --nosyslog そしておそらくあなたの他のオプションをリストしてください。
クラッシュ後、デバッガーを実行してコアダンプを取得します。 デバッガーは多くの場合
GNU GDBの場合、次のように入力できます(必要に応じてパスを調整します) GDB ./fetchmail fetchmail.core と
次に、GDBが起動してすべてのファイルを読み取った後、次のように入力します。 バックトレース フル、 を助けて
出力(コピー&ペーストで実行され、バックトレースは人間によって読み取られます)、次のように入力します やめます 〜へ
gdbを離れます。 ご注意: 一部のシステムでは、コアファイルの名前が異なり、含まれている場合があります
プログラム名の代わりに番号、または番号と名前ですが、通常は「コア」があります
名前の一部として。
インタラクション WITH RFC 822
メッセージの発信元アドレスを特定しようとすると、fetchmailは調べます
次の順序でヘッダー:
リターンパス:
Resent-Sender :( @または!が含まれていない場合は無視されます)
送信者:(@または!が含まれていない場合は無視されます)
再送-差出人:
から:
に返信:
どうやら-From:
発信元アドレスは、ロギング、およびMAILFROMアドレスの設定に使用されます。
SMTPに転送します。 この注文は、メーリングリストの受信に適切に対処することを目的としています。
マルチドロップモードのメッセージ。 目的は、ローカルアドレスが存在しない場合、
バウンスメッセージは、作成者またはリスト自体に盲目的に返されるのではなく、むしろ返されます
リストマネージャーに(これはそれほど迷惑ではありません)。
マルチドロップモードでは、宛先ヘッダーは次のように処理されます。まず、fetchmailは
ローカルを判別するために「envelope」オプションで指定されたヘッダーの場合
受信者のアドレス。 メールが複数の受信者宛ての場合、Received行
受信者のアドレスに関する情報は含まれません。
次に、fetchmailはResent-To:、Resent-Cc:、およびResent-Bcc:の行を探します。 もし彼らが
存在する場合は、最終的な受信者が含まれ、優先される必要があります
To:/ Cc:/ Bcc:対応するもの。 Resent- *行が存在しない場合、To:、Cc:、Bcc:、および
どうやら-To:行が検索されます。 (Resent-To:の存在は、それを意味すると解釈されます
To:アドレスによって紹介された人は、すでに元のコピーを受け取っています。
郵便物。)
CONFIGURATION 例
以下の例のかなりの数にパスワード宣言がありますが、
これは主に説明を目的としています。 アカウントとパスワードのペアをに隠しておくことをお勧めします
$ HOME / .netrcファイル。fetchmailだけでなく、 FTP(1)と
他のプログラム。
基本的な形式は次のとおりです。
世論調査 サーバーの名前 プロトコル ユーザ名 NAME password PASSWORD
例:
ポーリングpop.provider.netプロトコルpop3ユーザー名"jsmith"パスワード"secret1"
または、いくつかの略語を使用します。
pop.provider.netprotopop3ユーザー「jsmith」パスワード「secret1」をポーリングします
複数のサーバーがリストされる場合があります。
pop.provider.netをポーリングするprotopop3user "jsmith" pass "secret1"
other.provider.netprotopop2ユーザー「John.Smith」をポーリングして「My^Hat」を渡します
これは、より多くの空白といくつかのノイズワードを含む同じバージョンです。
pop.provider.netprotopop3をポーリングします
パスワードsecret1を持つユーザー「jsmith」は、ここでは「jsmith」です。
other.provider.net proto pop2をポーリングします:
パスワード「My^Hat」を持つユーザー「John.Smith」は、ここでは「John.Smith」です。
パラメータ文字列に空白を含める必要がある場合、またはパラメータ文字列を数字で始める必要がある場合は、
文字列を二重引用符で囲みます。 したがって:
mail.provider.netをprotopop3でポーリングします。
ユーザー「jsmith」のパスワードは「4uですが、これをクラクできません」
ここにjwsがあり、mda "/ bin/mail"が必要です
代わりに、キーワード「defaults」を先頭にした初期サーバーの説明がある場合があります
'poll'の後に名前が続きます。 このようなレコードは、以下のすべてのクエリのデフォルトとして解釈されます。
使用する。 個々のサーバーの説明によって上書きされる場合があります。 だから、あなたは書くことができます:
デフォルトのprotopop3
ユーザー「jsmith」
pop.provider.netの投票
「secret1」を渡す
mail.provider.netをポーリングする
ユーザー「jjsmith」にはパスワード「secret2」があります
サーバーごとに複数のユーザーを指定することができます。 'user'キーワードは
ユーザーの説明、およびマルチユーザーエントリのすべてのユーザー仕様にそれを含める必要があります。
次に例を示します。
pop.provider.netprotopop3ポート3111をポーリングします
パス「secret1」を持つユーザー「jsmith」はここでは「smith」です
パス「secret2」を持つユーザーjonesは「jjones」です。
これにより、ローカルユーザー名「smith」がpop.provider.netユーザー名「jsmith」に関連付けられ、
ローカルユーザー名「jjones」とpop.provider.netユーザー名「jones」。 'jones'のメール
ダウンロード後もサーバーに保持されます。
マルチドロップメールボックスの単純な取得構成は次のようになります。
pop.provider.netの投票:
golux'hurkle'='happy'snarkへのpasssecret1を使用したユーザーメールドロップ
これは、サーバー上のアカウント「maildrop」のメールボックスがマルチドロップボックスであり、
その中のメッセージは、サーバーユーザー名「golux」、「hurkle」、および
「スナーク」。 さらに、「golux」と「snark」がクライアント上で同じ名前を持つことを指定します
サーバーと同様ですが、サーバーユーザー「hurkle」のメールはクライアントユーザーに配信する必要があります
'ハッピー'。
注意 それ fetchmail、 バージョン6.3.4までは、完全なuser@domain指定を許可していませんでした
ここでは、これらは決して一致しません。 Fetchmail 6.3.5以降はuser@domainをサポートします
ユーザーマッピングの左側の仕様。
別の種類のマルチドロップ接続の例を次に示します。
pop.provider.net localdomainsloonytoons.orgtoons.orgをポーリングします
封筒X-封筒-宛先
ここに*へのパスsecret1を持つユーザーmaildrop
これは、サーバー上のアカウント「maildrop」のメールボックスがマルチドロップボックスであることも示しています。
これは、loonytoons.orgまたはtoons.orgドメイン内の任意のアドレス(を含む)をfetchmailに通知します。
'のようなサブドメインアドレス[メール保護]')に渡される必要があります
変更なしのローカルSMTPリスナー。 これを行う場合は、メールループに注意してください。
sshとプラグインオプションを使用した設定例を次に示します。 クエリが実行されます
ssh経由でimapdのstdinとstdoutに直接接続します。 この設定では、IMAPに注意してください
認証はスキップできます。
mailhost.netをprotoimapでポーリングします。
プラグイン"ssh%h / usr / sbin / imapd" auth ssh;
ユーザーesrはここではesrです
、 USE そして 乱用 OF マルチドロップ メールボックス
複数のローカル受信者機能は注意して使用してください。噛み付く可能性があります。 すべてのマルチドロップ
機能は、ETRNおよびODMRモードでは無効です。
また、マルチドロップモードでは、重複メールが抑制されることに注意してください。 メールは
直前のメッセージと同じメッセージIDがある場合、重複していると見なされます
および複数の宛先。 このような一連のメッセージは、
複数のユーザー宛てのメッセージは、マルチドロップボックスに配信されます。
ヘッダ 対 封筒 アドレス
基本的な問題は、メールサーバーに複数の人のメールを送信させることです。
単一のメールドロップボックス、あなたはそれぞれが誰であるかについての潜在的に重要な情報を捨てたかもしれません
メールの一部は実際には(ヘッダーではなく「封筒アドレス」に宛てられていました
RFC822 To / Ccヘッダーのアドレス-Bccは受信側では使用できません)。
この「封筒アドレス」は、メールを適切に再ルーティングするために必要なアドレスです。
時々 フェッチメール エンベロープアドレスを推測できます。 メールサーバーMTAが sendmail
メールの受信者がXNUMX人だけの場合、MTAは「by/for」句を記述します。
これにより、エンベロープの宛先がReceivedヘッダーに追加されます。 しかし、これは確実に機能しません
他のMTAの場合、または複数の受信者がいる場合。 デフォルトでは、 フェッチメール 探す
これらの行のエンベロープアドレス。 このデフォルトは、-E"Received"または
「封筒を受け取りました」。
As a 優れた 代替、 一部のSMTPリスナーやメールサーバーは、それぞれにヘッダーを挿入します
エンベロープアドレスのコピーを含むメッセージ。 このヘッダー(存在する場合)は
多くの場合、「X-Original-To」、「Delivered-To」、または「X-Envelope-To」。 Fetchmailの仮定
これは、-Eまたは'envelope'オプションで変更できます。 封筒を書くことに注意してください
この種のヘッダーは、受信者(ブラインドコピー受信者を含む)の名前をに公開します
メッセージのすべての受信者であるため、アップストリームはメッセージのコピーをXNUMXつごとにXNUMXつ保存する必要があります
プライバシーの問題にならないようにするための受信者。
Postfixは、バージョン2.0以降、のコピーを含むX-Original-To:ヘッダーを書き込みます。
受け取ったままの封筒。
QmailとPostfixは通常、メッセージをに配信するときに「Delivered-To」ヘッダーを書き込みます
メールスプールを使用して、メールループを回避します。 ただし、Qmail仮想ドメインにはプレフィックスが付きます
通常はユーザーのドメインと一致する文字列を持つユーザー名。 このプレフィックスを削除するには
-Qまたは'qvirtual'オプションを使用できます。
残念ながら、これらの方法のどちらも機能しない場合があります。 それがあなたが
ISPに連絡して、そのような封筒ヘッダーを提供するように依頼する必要があります。
この状況ではマルチドロップを使用しないでください。 それらがすべて失敗した場合、fetchmailはフォールバックする必要があります
To / Ccヘッダーの内容(Bccヘッダーは使用できません-以下を参照)を確認してください
受信者の宛先-そしてこれらは信頼できません。 特に、メーリングリストソフトウェア
多くの場合、Toヘッダーにリストブロードキャストアドレスのみが含まれるメールが送信されます。
注意 それ a 未来 バージョン of フェッチメール かもしれません 削除します To / Cc 構文解析!
日時 フェッチメール ローカルの受信者アドレスと目的の受信者を推測することはできません
アドレスは、fetchmailの呼び出し元ユーザー以外の誰かでした。 電子メール 意志 取得する 失った。 これは何
適切なエンベロープ情報がないと、マルチドロップ機能が危険になります。
関連する問題は、メールメッセージをブラインドコピーすると、Bcc情報が
実施 の 封筒アドレスとして(メールの送信によってヘッダーから削除されます)
サーバーなので、fetchmailはX-Envelope-Toヘッダーがある場合にのみそれを見ることができます)。 したがって、ブラインド-
fetchmailマルチドロップリンクを介してメールを受信する人へのコピーは、
メールサーバーホストは、X-Envelope-Toまたは同等のヘッダーを次のメッセージに定期的に書き込みます。
あなたのメールドロップ。
In 最後に、 郵送 lists と Bcc'd 電子メール できる の if あなたは フェッチ
from
(1) 店舗 XNUMXつ copy of メッセージ 以下のために 受取人 in ドメイン と
(2) 記録 封筒 情報 in a 特別 ヘッダ (X-Original-To、 配信先、
X-Envelope-To)。
グッド 方法 に マルチドロップ メールボックス
複数のローカル名を使用して、クライアント側からメーリングリストを管理できます。
フェッチメール コレクション。 あなたの名前が「esr」で、両方が自分の名前を取得したいとします。
(たとえば)「fetchmail-friends」というメーリングリストをメールで送信して維持します。
クライアントマシンのエイリアスリスト。
サーバーでは、「fetchmail-friends」を「esr」にエイリアスできます。 その後、あなたの .fetchmailrc,
'ここでfetchmail-friendsをesrに宣言します。 次に、「fetchmail-friends」を含むメールを
ローカルアドレスが取得されると、リスト名が受信者のリストに追加されます
SMTPリスナーが認識します。 したがって、ローカルでエイリアス拡張が行われます。 必ず
fetchmail-friendsのローカルエイリアス展開に「esr」を含めると、メールが表示されなくなります
リストにのみ送信されます。 また、リスナーに「me-too」オプションが設定されていることを確認してください
(sendmailの-oXmコマンドラインオプションまたはOXm宣言)あなたの名前がから削除されないように
送信するメッセージのエイリアス拡張。
ただし、このトリックには問題がないわけではありません。 メッセージが表示されると、これが表示され始めます
あなたがしているメーリングリストだけに宛てられたものが入ってくる ローカルとして宣言しました
名前。 このような各メッセージには、生成される「X-Fetchmail-Warning」ヘッダーが含まれます。
fetchmailは受信者のアドレスで有効なローカル名を見つけることができないためです。 そのような
メッセージはデフォルトで(上記のように)実行中のローカルユーザーに送信されます
フェッチメール、しかし、プログラムはそれが実際に正しいことであることを知る方法がありません。
悪い 方法 に 乱用 マルチドロップ メールボックス
マルチドロップメールボックスと フェッチメール デーモンモードで複数のユーザーにサービスを提供することは混同しないでください。 The
繰り返しになりますが、問題はメーリングリストからのメールです。
その上の受信者アドレス。 そうでもなければ フェッチメール 封筒の住所を推測することができます、そのようなメールは
fetchmail(おそらくroot)を実行しているアカウントにのみ移動します。 また、ブラインドコピーされたユーザーは
彼らのメールをまったく見ない可能性が非常に高いです。
使いたくなったら フェッチメール XNUMXつのメールから複数のユーザーのメールを取得する
POPまたはIMAP経由でドロップし、もう一度考えてください(ヘッダーアドレスとエンベロープアドレスのセクションを読み直してください)
その上)。 メールをメールサーバーのキューに入れて使用する方が賢明です
SMTP送信を定期的にトリガーするfetchmailのETRNまたはODMRモード(もちろん、これは
メールサーバーの有効期限よりも頻繁にポーリングする必要があります)。 できない場合
これを調整するには、UUCPフィードを設定してみてください。
あなたが絶対に しなければなりません この目的のためにmultidropを使用し、メールサーバーが
fetchmailが見ることができるenvelope-addressヘッダー。 そうでなければあなた 意志 メールとそれを失う 意志
あなたを悩ませに戻ってきます。
スピード Up マルチドロップ チェック
通常、複数のユーザーが宣言されている場合 フェッチメール 受信者アドレスを次のように抽出します
上記で説明し、DNSを使用して各ホスト部分をチェックし、それがのエイリアスであるかどうかを確認します。
メールサーバー。 その場合、「to...here」宣言で説明されている名前のマッピングが行われます。
とローカルに配信されたメール。
これは便利ですが、遅い方法でもあります。 高速化するには、メールサーバーエイリアスを事前に宣言します
'aka'; これらは、DNSルックアップが実行される前にチェックされます。 あなたがあなたの別名を確信しているなら
リストに含まれるもの を メールサーバーのDNSエイリアス(およびメールサーバーを指すすべてのMX名-注
これは将来のバージョンで変更される可能性があります)DNSルックアップを抑制するために「nodns」を宣言できます
完全にそして の 別名リストと一致します。
SOCKS
socks4/5のサポートは コンパイル 時間 構成オプション。 コンパイルしたら、fetchmail
システム上のsocksライブラリと構成を常に使用します。実行はありません-
fetchmailの時間スイッチ-ただし、SOCKSを構成することはできます。
SOCKS構成ファイルはで使用されます SOCKS_CONF 環境変数。
たとえば、SOCKSプロキシを完全にバイパスして、fetchmailを使用したい場合
直接接続します。たとえば、環境内でSOCKS_CONF = / dev/nullを渡すだけです。
(通常のコマンドラインオプション(ある場合)をこの行の最後に追加します):
env SOCKS_CONF = / dev / null fetchmail
EXIT コード
の使用を容易にするため フェッチメール シェルスクリプトでは、終了ステータスコードがに返されます
特定の接続中に何が発生したかを示します。
によって返される終了コード フェッチメール 以下の通り:
0 XNUMXつ以上のメッセージが正常に取得されました(または、-cオプションが
選択され、待機中であることが判明しましたが、取得されませんでした)。
1検索待ちのメールはありませんでした。 (古いメールがまだ残っている可能性があります
サーバーですが、取得対象として選択されていません。)「メールなし」をエラーにしたくない場合
条件(たとえば、cronジョブの場合)では、POSIX準拠のシェルを使用して追加します
|| [$? -eq1]
fetchmailコマンドラインの最後まで、これにより0が変更されず、1がマップされることに注意してください。
0に、他のすべてのコードを1にマップします。FAQの項目#C8も参照してください。
2メールを取得するためにソケットを開こうとしたときにエラーが発生しました。 もし、あんたが
ソケットが何であるかわからない、それについて心配しないでください-これをただ
「回復不能なエラー」。 このエラーは、プロトコルfetchmailが必要とするためにも発生する可能性があります
使用するものは/etc/servicesにリストされていません。
3ユーザー認証ステップが失敗しました。 これは通常、不正なユーザーIDを意味します。
パスワード、またはAPOPIDが指定されました。 または、fetchmailを実行しようとしたことを意味している可能性があります
端末に標準入力が接続されていない状況では、
不足しているパスワードの入力を求めることができませんでした。
4ある種の致命的なプロトコルエラーが検出されました。
5への引数に構文エラーがありました フェッチメール、または接続前または接続後
コマンドが失敗しました。
6実行制御ファイルの権限が正しくありませんでした。
7サーバーからエラー状態が報告されました。 次の場合にも発砲できます フェッチメール
サーバーの待機中にタイムアウトになりました。
8クライアント側の除外エラー。 これの意味は フェッチメール の別のコピーを見つけました
それ自体がすでに実行されているか、別の
コピーが実行されています。
9サーバーが「ロックビジー」と応答したため、ユーザー認証ステップが失敗しました。 試す
少し間を置いてからまた! このエラーは、すべてのプロトコルに実装されているわけではありません。
すべてのサーバーに対して。 サーバーに実装されていない場合は、代わりに「3」が返されます。
上記を参照。 qpopperまたは他のサーバーと通信するときに返される可能性があります
「lockbusy」または「lock」という単語を含む同様のテキストで応答します。
10 フェッチメール SMTPポートを開くかトランザクションを実行しようとしたときに実行に失敗しました。
11致命的なDNSエラー。 FetchmailでDNSルックアップの実行中にエラーが発生しました
起動し、続行できませんでした。
12BSMTPバッチファイルを開くことができませんでした。
13ポーリングはフェッチ制限によって終了しました(--fetchlimitオプションを参照)。
14サーバービジー表示。
23内部エラー。 詳細が記載された標準エラーに関するメッセージが表示されます。
24-26、28、29
これらは内部コードであり、外部に表示されるべきではありません。
日時 フェッチメール 複数のホストにクエリを実行する場合、ステータスは0になります。 どれか 正常にクエリ
取得したメール。 それ以外の場合、返されるエラーステータスは、最後にクエリされたホストのステータスです。
onworks.netサービスを使用してオンラインでfetchmailを使用する