Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Isyncのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Isync
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{DISPLAYTITLE:isync}} [[Category:メール取得エージェント]] [[en:Isync]] [http://isync.sourceforge.net/ isync] はメールボックスを同期するコマンドラインアプリケーションです。現在 Maildir と IMAP4 メールボックスがサポートされています。新しいメッセージ・メッセージの削除・フラグの変更を同期することができます。 同期はユニークなメッセージ ID (UID) に基づくため、(他のメール同期プログラムで起こるような) 識別子の衝突は発生しません。同期状態はメールボックスごとに作成されるローカルのテキストファイルに記録されます。メールボックスの複製を複数管理することが可能です。 {{note|isync はプロジェクトの名前であり、実行ファイルの名前は mbsync です。}} ==特徴== *同期操作は細かく選択することができます。 *特定のメールボックス、あるいは全てのメールボックスを同期します。 *分割ミラー: 最新のメッセージだけをローカルに保存します。 *ゴミ箱機能: メッセージを削除する前にバックアップします。 *IMAP 機能: **セキュリティ: imaps (ポート 993) や STARTTLS による TLS/SSL、CRAM-MD5 による認証をサポート。 **NAMESPACE によるシンプルな設定をサポート。 **パイプラインニングによる高速処理 (いまのところ限定的な実装のみ)。 ==インストール== {{Pkg|isync}} パッケージを[[インストール]]してください。 ==設定== {{Note| * Google はデフォルトでは isync によるメールのダウンロードをブロックします。2段階認証を有効にしている場合、[https://myaccount.google.com/apppasswords アプリパスワードを設定] して isync で使用するようにしてください。もしくは [https://myaccount.google.com/security Google のセキュリティページ] から "Allow less secure apps" を "on" にしてください。 * 2017年10月現在、MaildirStore で {{ic|Subfolders}} を設定する必要があります [http://isync.sourceforge.net/mbsync.html]。以前のように動かすには {{ic|SubFolders Legacy}} を使います。}} {{ic|~/.mbsyncrc}} に以下のようなメイン設定ファイルを作成してください: {{hc|~/.mbsyncrc|2=<nowiki> IMAPAccount gmail # Address to connect to Host imap.gmail.com User username@gmail.com Pass *************** # To store the password in an encrypted file use PassCmd instead of Pass # PassCmd "gpg2 -q --for-your-eyes-only --no-tty -d ~/.mailpass.gpg" # # Use SSL SSLType IMAPS # The following line should work. If get certificate errors, uncomment the two following lines and read the "Troubleshooting" section. CertificateFile /etc/ssl/certs/ca-certificates.crt #CertificateFile ~/.cert/imap.gmail.com.pem #CertificateFile ~/.cert/Equifax_Secure_CA.pem IMAPStore gmail-remote Account gmail MaildirStore gmail-local # The trailing "/" is important Path ~/.mail/gmail/ Inbox ~/.mail/gmail/Inbox Channel gmail Master :gmail-remote: Slave :gmail-local: # Exclude everything under the internal [Gmail] folder, except the interesting folders Patterns * ![Gmail]* "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail" # Or include everything #Patterns * # Automatically create missing mailboxes, both locally and on the server Create Both # Save the synchronization state files in the relevant directory SyncState * </nowiki>}} メールボックスの名前から [Gmail] を削除するには、ディレクトリごとにチャンネルを作成して、後からグループにまとめます: {{hc|~/.mbsyncrc|2= <nowiki> Channel sync-googlemail-default Master :googlemail-remote: Slave :googlemail-local: # Select some mailboxes to sync Patterns "INBOX" "arch" Channel sync-googlemail-sent Master :googlemail-remote:"[Google Mail]/Gesendet" Slave :googlemail-local:sent Channel sync-googlemail-trash Master :googlemail-remote:"[Google Mail]/Papierkorb" Slave :googlemail-local:trash # Get all the channels together into a group. Group googlemail Channel sync-googlemail-default Channel sync-googlemail-sent Channel sync-googlemail-trash </nowiki> }} 上記の方法で名前の変換もできます。 ==使用方法== まずは Maildir として指定したフォルダを作成してください: $ mkdir -p ~/.mail/gmail 特定のチャンネルでメールを取得するには以下を実行: $ mbsync gmail もしくは全てのチャンネルでメールを取得するには: $ mbsync -a == ヒントとテクニック == === 自動同期 === メールボックスを自動的に同期したい場合、[[systemd]] ユニットを使って isync を自動的に起動することができます。以下のサービスファイルは ''mbsync'' コマンドを実行します: {{hc|/etc/systemd/system/mbsync@.service|2= <nowiki> [Unit] Description=Mailbox synchronization service for user %I [Service] Type=oneshot ExecStart=/usr/bin/mbsync -Va User=%i StandardOutput=syslog StandardError=syslog </nowiki> }} {{Note|インターネットに接続されていないときでも上記のサービスが起動してしまう可能性があります。Unit セクションに次を追加することで解決できます: {{ic|<nowiki>After=network.target network-online.target dbus.socket</nowiki>}}。}} 以下のタイマーは2時間毎にサービスを起動します: {{hc|/etc/systemd/system/mbsync@.timer|2= <nowiki> [Unit] Description=Mailbox synchronization timer [Timer] OnCalendar=*-*-* 00/2:00:00 Persistent=true Unit=mbsync@%i.service [Install] WantedBy=timers.target </nowiki> }} 上記2つのファイルを作成したら、systemd を[[systemd#ユニットを使う|リロード]]して、{{ic|mbsync@''user''.timer}} を[[起動]]・[[有効化]]してください。{{ic|''user''}} はあなたのユーザー名に置き換えてください。 ===notmuch の統合=== メールを同期したら自動的に [[notmuch]] を起動するようにしたい場合、上記の {{ic|mbsync@.service}} を編集して以下のように post-start フックを追加すると良いでしょう: {{hc|/etc/systemd/system/mbsync@.service|2= <nowiki> [Unit] Description=Mailbox synchronization service for user %I [Service] Type=oneshot ExecStart=/usr/bin/mbsync -Va ExecStartPost=/usr/bin/notmuch new User=%i StandardOutput=syslog StandardError=syslog </nowiki> }} 上記の設定を使うにはあらかじめ notmuch をセットアップしておく必要があります。ExecStart コマンドの実行が上手く行かなかった場合、ExecStartPost コマンドは実行されないので注意してください。 ==トラブルシューティング== === 証明書関連のエラー === 以下のように証明書のエラーが発生する場合: SSL error connecting pop.mail.com (193.222.111.111:143): error:00000012:lib(0):func(0):reason(18) 手動でサーバーの証明書を取得して mbsync が認識できるようにする必要があります。 $ mkdir ~/.cert $ openssl s_client -connect some.imap.server:port -showcerts 2>&1 < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sed -ne '1,/-END CERTIFICATE-/p' > ~/.cert/some.imap.server.pem 上記のコマンドで {{ic|~/.cert/some.imap.server.pem}} という名前の証明書ファイルが作成されます (例: {{ic|~/.cert/imap.gmail.com.pem}})。もしくは [https://gist.githubusercontent.com/petRUShka/af96ae25ce8280729b9ea049b929f31d/raw/a79471ce8aee3f6d04049039adf870a53a524f7f/get_certs.sh get_certs.sh] をダウンロードして実行することでも作成できます: $ mkdir ~/.cert $ wget https://gist.githubusercontent.com/petRUShka/af96ae25ce8280729b9ea049b929f31d/raw/a79471ce8aee3f6d04049039adf870a53a524f7f/get_certs.sh $ sh get_certs.sh some.imap.server port ~/.cert/ 手動で実行したい場合、以下を実行してください: $ openssl s_client -connect some.imap.server:port -showcerts 以下のような出力が表示されます: CONNECTED(00000003) depth=1 C = US, O = Google Inc, CN = Google Internet Authority verify error:num=20:unable to get local issuer certificate verify return:0 --- Certificate chain 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=imap.gmail.com i:/C=US/O=Google Inc/CN=Google Internet Authority -----BEGIN CERTIFICATE----- MIIDgDCCAumgAwIBAgIKO3MmiwAAAABopTANBgkqhkiG9w0BAQUFADBGMQswCQYD VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu dGVybmV0IEF1dGhvcml0eTAeFw0xMjA5MTIxMTU1NDlaFw0xMzA2MDcxOTQzMjda MGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N b3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcwFQYDVQQDEw5pbWFw LmdtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2OmU9DjI+DFQ ThqIN4vL6EqZbzH0ejLKcc+zhxsq9BU5hXohSJ1sS5FUU2vReDKk8fd+ZR3cWtpf CTYAUSvdnz1ZFjESSzyUBmGRqByhoc0yqdfb61NosA4CDaO+z7DtAgKyecqnAJad TPYYf9aLk/UgJuc6GseitjzFYonXi6ECAwEAAaOCAVEwggFNMB0GA1UdJQQWMBQG CCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUFuLyTg2NcsyaEESytZbLbQan YIowHwYDVR0jBBgwFoAUv8Aw6/VDET5nup6R+/xq2uNrEiQwWwYDVR0fBFQwUjBQ oE6gTIZKaHR0cDovL3d3dy5nc3RhdGljLmNvbS9Hb29nbGVJbnRlcm5ldEF1dGhv cml0eS9Hb29nbGVJbnRlcm5ldEF1dGhvcml0eS5jcmwwZgYIKwYBBQUHAQEEWjBY MFYGCCsGAQUFBzAChkpodHRwOi8vd3d3LmdzdGF0aWMuY29tL0dvb2dsZUludGVy bmV0QXV0aG9yaXR5L0dvb2dsZUludGVybmV0QXV0aG9yaXR5LmNydDAMBgNVHRMB Af8EAjAAMBkGA1UdEQQSMBCCDmltYXAuZ21haWwuY29tMA0GCSqGSIb3DQEBBQUA A4GBAC1LV7tM6pcyVJLcwdPml4DomtowsjTrqvy5ZFa3SMKANK0iZBgFu74O0THX 8SxP/vn4eAs0yRQxcT1ZuoishLGQl5NoimLaQ4BGQnzFQHDJendfaVKDl21GenJp is72sIrAeprsVU8PbNsllUamWsIjKr3DH5xQdH54hDtzQojY -----END CERTIFICATE----- 1 s:/C=US/O=Google Inc/CN=Google Internet Authority i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority -----BEGIN CERTIFICATE----- MIICsDCCAhmgAwIBAgIDC2dxMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0 aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDkwNjA4MjA0MzI3WhcNMTMwNjA3MTk0MzI3 WjBGMQswCQYDVQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZ R29vZ2xlIEludGVybmV0IEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw gYkCgYEAye23pIucV+eEPkB9hPSP0XFjU5nneXQUr0SZMyCSjXvlKAy6rWxJfoNf NFlOCnowzdDXxFdF7dWq1nMmzq0yE7jXDx07393cCDaob1FEm8rWIFJztyaHNWrb qeXUWaUr/GcZOfqTGBhs3t0lig4zFEfC7wFQeeT9adGnwKziV28CAwEAAaOBozCB oDAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFL/AMOv1QxE+Z7qekfv8atrjaxIk MB8GA1UdIwQYMBaAFEjmaPkr0rKV10fYIyAQTzOYkJ/UMBIGA1UdEwEB/wQIMAYB Af8CAQAwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5jb20v Y3Jscy9zZWN1cmVjYS5jcmwwDQYJKoZIhvcNAQEFBQADgYEAuIojxkiWsRF8YHde BZqrocb6ghwYB8TrgbCoZutJqOkM0ymt9e8kTP3kS8p/XmOrmSfLnzYhLLkQYGfN 0rTw8Ktx5YtaiScRhKqOv5nwnQkhClIZmloJ0pC3+gz4fniisIWvXEyZ2VxVKfml UUIuOss4jHg7y/j7lYe8vJD5UDI= -----END CERTIFICATE----- --- Server certificate subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=imap.gmail.com issuer=/C=US/O=Google Inc/CN=Google Internet Authority --- No client certificate CA names sent --- SSL handshake has read 2108 bytes and written 350 bytes --- New, TLSv1/SSLv3, Cipher is ECDHE-RSA-RC4-SHA Server public key is 1024 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1.1 Cipher : ECDHE-RSA-RC4-SHA Session-ID: 77136647F42633D82DEDFBB9EB62AB516547A3697D83BD1884726034613C1C09 Session-ID-ctx: Master-Key: 635957FBA0762B10694560488905F73BDD2DB674C41970542ED079446F27234E2CA51CF26938B8CA56DF5BBC71E429A7 Key-Arg : None PSK identity: None PSK identity hint: None SRP username: None TLS session ticket lifetime hint: 100800 (seconds) TLS session ticket: 0000 - d6 5b a0 a7 10 0e 64 04-72 93 7c 9f 94 fa 07 57 .[....d.r.|....W 0010 - f1 8b 9d 24 8b 9d 1b f3-a8 b1 4d 2c a9 00 e1 82 ...$......M,.... 0020 - 00 83 1e 3f e5 f2 b2 2c-d2 a8 87 83 16 02 0d 1e ...?...,........ 0030 - bf b6 c1 d6 75 21 04 e6-63 6b ab 5b ed 94 7a 30 ....u!..ck.[..z0 0040 - 1a d0 aa 44 c2 04 9b 10-06 28 b5 7b a0 43 a6 0d ...D.....(.{.C.. 0050 - 3b 4a 85 1f 2e 07 0a e1-32 9b bd 5d 65 41 4c e2 ;J......2..]eAL. 0060 - 7c d7 43 ec c4 18 77 53-b5 d4 84 b4 c9 bd 51 d6 |.C...wS......Q. 0070 - 2d 4f 2e 10 a6 ed 38 c5-8e 9d f8 8b 8a 63 3f 7b -O....8......c?{ 0080 - ee e6 b8 bf 7a f8 b8 e8-47 92 84 f1 9b 0c 63 30 ....z...G.....c0 0090 - 76 d8 e1 44 v..D Start Time: 1352632558 Timeout : 300 (sec) Verify return code: 20 (unable to get local issuer certificate) --- * OK Gimap ready for requests from 108.78.162.240 o67if11168976yhc.67 {{ic|-----BEGIN CERTIFICATE-----}} から始まり {{ic|-----END CERTIFICATE-----}} で終わるブロックをコピーしてファイルに貼り付けて、{{ic|.pen}} 拡張を付けて保存してください。古い説明では両方の証明書ブロックを保存する必要と書かれていることもありますが、不要です。 それからルート証明書をローカルの証明書フォルダにコピーしてください。上記の例 (Gmail) では、ルート証明書の発行機関は Equifax Secure Certificate Authority です。証明書は {{pkg|ca-certificates}} パッケージに含まれています。 $ cp /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt ~/.cert/Equifax_Secure_CA.pem 証明書を使うように mbsync を設定してください: {{hc|~/.mbsyncrc|2= <nowiki> IMAPAccount gmail Host imap.gmail.com # ... CertificateFile ~/.cert/imap.gmail.com.pem</nowiki>}} === Exchange 2003 で BAD Command === MS Exchange 2003 サーバーに接続する場合、パイプライニング (複数の imap コマンドの同時実行) を使用すると問題が発生することがあります。以下のような出力が返ってきます: {{hc|$ mbsync -V exchange|<nowiki> >>> 9 SELECT "arch"^M * 250 EXISTS * 0 RECENT * FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent) * OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)] Permanent flags * OK [UNSEEN 241] Is the first unseen message * OK [UIDVALIDITY 4352] UIDVALIDITY value 9 OK [READ-WRITE] SELECT completed. >>> 10 UID FETCH 1:1000000000 (UID FLAGS)^M * 1 FETCH (UID 1 FLAGS (\Seen \Answered)) * 2 FETCH (UID 2 FLAGS (\Seen \Answered)) ... * 249 FETCH (UID 696 FLAGS ()) * 250 FETCH (UID 697 FLAGS (\Seen)) 10 OK FETCH completed. >>> 11 APPEND "arch" (\Seen) {4878+}^M (1 in progress) >>> 12 UID FETCH 697 (BODY.PEEK[])^M (2 in progress) >>> 13 UID STORE 696 +FLAGS.SILENT (\Deleted)^M 12 BAD Command is not valid in this state. </nowiki>}} コマンド9は新しいフォルダの選択で、コマンド10はメールのチェックです。コマンド11, 12, 13はメールの書き込み・取得・フラグ変更で同時に実行されます。上記の場合、Exchange サーバーは BAD が返ってきたあとに接続を終了して次のチャンネルに行っています (チャンネルに全く問題がなければ、mbsync は0を返します)。Exchange の IMAPStore の設定で以下を設定することで問題は解決します: PipelineDepth 1 ==参照== *[http://isync.sourceforge.net/ ホームページ] *[https://sourceforge.net/projects/isync/ Sourceforge ページ] *[https://kevin.deldycke.com/2012/08/gmail-backup-mbsync/ backing up gmail with mbsync] *[https://www.cyberciti.biz/faq/test-ssl-certificates-diagnosis-ssl-certificate/ How To Verify SSL Certificate From A Shell Prompt]
このページで使用されているテンプレート:
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
Isync
に戻る。
検索
検索
Isyncのソースを表示
話題を追加