☰
Current Page
Main Menu
Home
Editing
BackupGmail
Edit
Preview
h1
h2
h3
Keybinding
default
vim
emacs
Markup
Markdown
Plain Text
Pod
RDoc
AsciiDoc
BibTeX
Creole
MediaWiki
Org-mode
reStructuredText
Textile
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
Autosaved text is available. Click the button to restore it.
Restore Text
<!-- --- title: Gmailのバックアップ環境を作る --> # Gmailのバックアップ環境を作る ## 構成 - getmailでGmailからIMAPで受信しMaildir形式で保存 - dovecotでMaildirをIMAPでLAN内に公開 - rainloopでブラウザから閲覧 - 受信のプッシュ通知とかは今のところ無し ## getmail ### mailboxes に<del>日本語の</del>存在しないフォルダを指定するとエラーになる - Ubuntu 18.04 LTS - Python 2.7.15+ `mailboxes = ALL` だと二重に受信しているような気がするので `mailboxes = ("[Gmail].すべてのメール", )` としたとき ``` Unhandled exception follows: File "/usr/bin/getmail", line 892, in main success = go(configs, options.idle) File "/usr/bin/getmail", line 171, in go 'permissions\n' % (mailbox.encode('utf-8'), o)) UnicodeEncodeError: 'ascii' codec can't encode characters in position 8-14: ordinal not in range(128) ``` <del>`LC_ALL=ja_JP.UTF8 getmail ...` とする</del> ``` % python -c 'import sys; print(sys.getdefaultencoding())' ascii ``` 上記は未解決だが,存在しないフォルダを指定したときのエラーメッセージを出そうとして死んでるみたいなので mailboxes を修正 `mailboxes = ("[Gmail]/すべてのメール", )` ## dovecot - [FrontPage - Dovecot Wiki](https://wiki2.dovecot.org/) `% sudo apt install dovecot-imapd` - /etc/dovecot/conf.d/10-mail.conf ``` mail_location = maildir:~/Maildir:LAYOUT=fs ``` - /etc/dovecot/conf.d/10-auth.conf ``` auth_mechanisms = plain cram-md5 #!include auth-system.conf.ext !include auth-passwdfile.conf.ext ``` - /etc/dovecot/users ``` <username>:{CRAM-MD5}xxx ... xxx:<uid>:<gid>::<homedir> ``` パスワード部分は `doveadm pw -s CRAM-MD5` で生成 `% sudo chown root:dovecot users` `% sudo chmod 640 users` ### plaintext認証でログインできない `/var/log/mail.log`には下記のようなログが残る ``` dovecot: imap-login: Aborted login (no auth attempts in 0 secs): user=<>, rip=X.X.X.X, lip=X.X.X.X, session=<XXXXXXXXXXXXXXX> ``` SSL無効だとplaintext認証が無効になる 解除するには`/etc/dovecot/conf.d/10-auth.conf`に`disable_plaintext_auth = no` ## ついでに古いメーラーのメールもMaildirにぶっこむ - Outlook Express 6 - [OutlookExpress-To - OE5/6 Multi Converterの詳細情報 : Vector ソフトを探す!](https://www.vector.co.jp/soft/win95/net/se229601.html) - UNIX mbox形式でエクスポート - mb2mdでMaildir形式に変換 - [Converting Mbox mailboxes to Maildir format](http://batleth.sapienti-sat.org/projects/mb2md/) - `mb2md -s hoge.mbox -d ~/destdir` - [EdMax](http://www.edcom.jp/edmaxtop.html) - メールを選択→ファイル→エクスポート - 形式を「再構成して保存(添付ファイル付き)」 - 区切りを「UNIX MBOX」にして[エクスポート](http://www.edcom.jp/edmax/html/afxc1ics.htm) - mb2mdでMaildir形式に変換 ### 変換失敗? EdMaxでエクスポートしたファイルを変換するとメール数が減ってる ``` % grep ^From\\s bar.mbox | wc -l 423 % mb2md -s bar.mbox -d ~/temp Converting /home/foo/bar.mbox to maildir: /home/foo/temp Source Mbox is /home/foo/bar.mbox Target Maildir is /home/foo/temp 333 messages. ``` 90通減ってる? "From " で始まる行の前に空行が無いと前のメールと同じメールとして変換されてしまう 適当に修正 ``` #!/usr/bin/perl use strict; use warnings; use utf8; my $prev_line = ''; while(<STDIN>) { if (/^From\s/ && $prev_line !~ /^$/) { print "\n"; } print; $prev_line = $_; } ``` ## rainloop - [GitHub - pierre-alain-b/rainloop-nextcloud: Rainloop plugin for Nextcloud](https://github.com/pierre-alain-b/rainloop-nextcloud) - [RainLoop - アプリ - App Store - Nextcloud](https://apps.nextcloud.com/apps/rainloop) - [How to enable CRAM MD5 for IMAP and or SMTP · RainLoop/rainloop-webmail Wiki · GitHub](https://github.com/RainLoop/rainloop-webmail/wiki/How-to-enable-CRAM-MD5-for-IMAP-and-or-SMTP) ## 参考 - [Backup Gmail with getmail - ArchWiki](https://wiki.archlinux.org/index.php/Backup_Gmail_with_getmail) - [getmail - ArchWiki](https://wiki.archlinux.jp/index.php/Getmail) - [Gmailをgetmailでテキストファイルにバックアップする \| Qrunch(クランチ)](https://qrunch.net/@yyano/entries/2nEimgQJGkTEMCVs) - [Miximum — Synchronize all your mailboxes on your own private email server](https://www.miximum.fr/blog/synchronize-all-your-mailboxes-on-your-own-server/) - [Dovecot(CRAM-MD5で認証)を導入する (CentOS 6.5) \| 週末プログラマーのだらだら開発記](http://www.cross-ring.net/web/DPOW/linux_server_setting/mail/878)
Uploading file...
Edit message:
Cancel