2010/11/07

CentOS 5.X 設定NO.11 sendmailでroot宛のメールをGmailに

メールサーバーのOP25B対策(sendmail編)
を参考に設定したのですが、何故か上手く行かないので、
SendmailでGmailに転送
sendmailでGmailへ転送すること
も少し参考にしてみました。

Gmailのサーバの仕様は、
その他のメール クライアントの設定
を参考に。

・sendmail.mc
 [root@centos ~]# cp -p /etc/mail/sendmail.mc /etc/mail/sendmail.mc.back
 [root@centos ~]# vi /etc/mail/sendmail.mc
で、
 dnl define(`SMART_HOST', `smtp.your.provider')dnl
の下に、以下を追加。
 define(`SMART_HOST', `esmtp:[smtp.gmail.com]')dnl
 define(`ESMTP_MAILER_ARGS',`TCP $h 587')
 define(`RELAY_MAILER_ARGS',`TCP $h 587')
 FEATURE(authinfo, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`authinfo')
 define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')

次に、
 dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
のコメントを外す。(以下に書き換え)
 DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

そして、
 dnl FEATURE(masquerade_envelope)dnl
の下に、以下を追加。
 FEATURE(masquerade_envelope)dnl
 FEATURE(genericstable, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`genericstable')
 GENERICS_DOMAIN_FILE(MAIL_SETTINGS_DIR`genericsdomain')
 FEATURE(`generics_entire_domain')

・sendmail.mcからsendmail.cfを生成する。
 [root@centos ~]# m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

・authinfoファイル
 [root@centos ~]# echo AuthInfo:smtp.gmail.com \"U:root\" \"I:user@gmail.com\" \"P:password\" > /etc/mail/authinfo
 [root@centos ~]# chmod 640 /etc/mail/authinfo
 [root@centos ~]# makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo
 [root@centos ~]# chgrp smmsp /etc/mail/authinfo.db ・genericsdomainファイル
 [root@centos ~]# echo localhost >> /etc/mail/genericsdomain
 [root@centos ~]# echo `hostname` >> /etc/mail/genericsdomain

・genericstableファイル
 [root@centos ~]# echo root user@gmail.com > /etc/mail/genericstable
 [root@centos ~]# makemap hash /etc/mail/genericstable.db < /etc/mail/genericstable
 [root@centos ~]# chgrp smmsp /etc/mail/genericstable.db

・設定を反映
 [root@centos ~]# /etc/rc.d/init.d/sendmail reload

P.S.
でも、Gmailには到達していない。。。
/var/log/maillog には「gethostbyaddr」って書いているので、IPからホスト名に解決出来てないのが原因???
(ポート開放していなかっただけだったw)

P.S.2 (2010/11/10)
SendmailでGmailに転送設定時のエラーを参考に
 [root@centos ~]# yum -y install cyrus-sasl-md5
を行ったら、
以下のログが2行表示されなくなった。
 Nov 10 13:44:51 sendmail[3287]: oAA4in33003287: Losing ./qfoAA4in33003287: savemail panic
 Nov 10 13:44:51 sendmail[3287]: oAA4in33003287: SYSERR(root): savemail: cannot save rejected email anywhere
その代わり、以下のログが増えた。
 Nov 10 13:49:39 usb sendmail[3303]: oAA4nc4w003303: oAA4nc4x003303: return to sender: Service unavailable
未だにGmailにテストメールは到達していない。。。


2010/11/03

Gmail への移行方法 No.02

Gmail への移行方法 でも引っかかっている方がいるみたいなので、注意点を。
因に本スレッドは
・サインインできないという「類似した現象が起きており、いくつも同じスレッドがあります。
http://windowslivehelp.com/thread.aspx?threadid=17153bb4-2d5d-4490-acdf-639012c4683e
・サインインできない、メール受信ボックスが見れない方々へ
http://windowslivehelp.com/thread.aspx?threadid=65514e2f-0dd9-46be-b64a-930c42b743f3
です。

Gmailにインポートしようとしても弾かれる方へ。
・メールアドレス
・パスワード
・サーバ名とポートの番号
・大文字小文字の打ち間違い
・「1」と「l」など似た文字の見間違い
・NumlockやCapslockがONになっていないか
などを確認してみて下さい。
また、ブラウザの一時ファイルの削除等も行ってみるといいかもしれません。
(Gmailは遅いとか重いという意見が多いのですが、多分GmailのシステムとIEの相性が悪いと思うので、Google ChromeかFirefoxでアクセスする事をお勧めします。)

GmailへのインポートはPOP3という技術を使用していますので、メーラで直接Hotmailが受信できるかどうかを確認すると、Hotmail側の問題なのか、Gmail側の問題なのか大まかに切り分ける事が出来ると思います。
(その際テストですので、サーバサイドにメールを残す設定にしておく事をお勧めします。)
メーラでも受信できない方は、Hotmailサイドのサーバが認証できない状態にあると思うのでGmailへのインポートはできません。
メーラで受信出来たという方は、Gmailへのインポートも可能なはずです。
上記の確認事項に戻って、もう一度確認してみて下さい。
(最悪、メーラにBackUpが取れたと思って、メーラからGmailに直接アップロードするのも一つの方法です。)

メーラで直接Hotmailにアクセスし受信出来るかどうかについて補足しておきます。
Windowsの人が大半でしょうが、Mac&Linux使いもいると思うのでクロスプラットフォームである「Thunderbird」を使用して説明します。
(本当は今Macしか手元にないからなんですけど。)
Thunderbidはフリーソフトで、 http://mozilla.jp/thunderbird/ からダウンロード出来ます。
(2010/11/03現在、最新版は3.1.6です。)
(管理者権限がないアカウントでインストール出来ないという方は、有志の方がPortable版を作成してくれています。これなら管理者権限が必要なく使用出来るので、こちらで試してみて下さい。ダウンロードは、 http://portableapps.com/ から出来ます。)
他のメーラ(Windows LiveメールやMail.app等)を使用している方は適宜に読み替えるか、Thunderbirdに乗り換えるか、「メーラ名 Hotmail 受信」などでググるか等をして下さい。
・インストールしたThunderbirdを起動させます。
・最初のページにある
アカウント > 新規アカウント作成する
をクリックするか、上部のメニューバーの
ツール > アカウント設定 > アカウント操作 > メールアカウントを追加
を選択します。
・「あなたの名前」は送信時に相手に表示される名前ですので、捨て垢の人等は気をつけて下さい。
・「メールアドレス」はメーラで受信したい「〜@hotmail.com」等のメールアドレスです。
・「パスワード」はメーラで受信したい「〜@hotmail.com」等のメールアドレスのパスワードです。
他人とPCを共有している場合は、「パスワードを記憶する」のチェックを外しておくといいと思います。
(パスワードを入力しないと新規のメールが受信出来ないだけなので、過去に受信したメールは閲覧可能です。なので、他人とPCを共有している人はPCに自分のPCのアカウントを作成しましょう。)
正確に入力すると、受信&送信サーバの設定を自動で行ってくれます。
・受信サーバが「pop3.live.com」で「POP」、「995」、「SSL/TSL」
・送信サーバが「smtp.live.com」で「SMTP」、「578」、「STARTTSL」
になっている事を確認します。
確認したら、「アカウント作成」をクリック。
Thunderbirdのデフォルトではサーバ上にメールを残す設定になっているので、受信確認するだけならこれで終了です。
サーバの設定はどこで見るかというと、
ツール > アカウント設定 > 「〜@hotmail.com」 > サーバ設定
です。
ここで、何日後にサーバから削除するか等の設定が変更出来ます。
今回はテストなので、「ダウンロードしてから〜日以上経過したメッセージは削除する」と「ダウンロードしたメッセージを削除したらサーバからも削除する」のチェックは外しておいた方がいいかもしれません。
ここで、Thunderbirdにメールが受信出来たのに、Gmailではエラーになるという方は上記の確認事項を再度確認してみて下さい。

次に、既にメーラに受信してあって、それをGmailにアップロードしたいんだけど。という方。
これもまたThunderbirdで説明しますw
GmailはIMAP4という仕様に対応しており、「メーラ ←→ サーバ」の双方向通信が可能です。
(因にPOP3は、「サーバ → メーラ」の一方通信です。)
なので、GmailをIMAP4で受信出来るようにメーラの設定をします。
上部のメニューバーの
ツール > アカウント設定 > アカウント操作 > メールアカウントを追加
を選択します。
・「あなたの名前」は送信時に相手に表示される名前ですので、捨て垢の人等は気をつけて下さい。
・「メールアドレス」はメーラで受信したい「〜@gmail.com」等のメールアドレスです。
・「パスワード」はメーラで受信したい「〜@gmail.com」等のメールアドレスのパスワードです。
正確に入力すると自動でサーバの設定が行われます。
先ほどのHotmailと違い、中段にIMAPかPOPが選べるようになっています。
今回は上記の理由よりIMAPを選択します。(デフォルトでIMAPなんですけどもね。)
(GmailのBackUpをとる場合にはPOPを選択するといいでしょう)
・「受信サーバ」が「imap.googlemail.com」で「IMAP」、「993」、「SSL/TSL」
・「送信サーバ」が「smtp.googlemail.com」で「SMTP」、「465」、「SSL/TSL」
である事を確認し、「アカウント作成」をクリック。
そうしたら、Gmailのラベルに相当するフォルダが並んでいると思います。
そうしたら、
メーラで受信してあったメールを選択し、右クリック > メッセージをコピー > アップロードしたいフォルダを選択
アップロード先は適宜にして下さい。
選択したフォルダのラベルが付加されてGmailにアップロードされます。
この行為は非常にサーバに負担を与える為、一度あたり100通程度に抑えて数回繰り返す事をお勧めします。
最悪の場合、24時間のアカウントロックを喰らったという報告もありましたので。

Hotmailを一度メーラに受信してからGmailにアップロードすれば、@hotmail.comの文字化けも起こらないかも。

HotmailからGmailにインポートしているかどうか確認したいと言う方。
ブラウザでGmailにログイン > 設定 > アカウントとインポート > POP3 を使用したメッセージの確認: > インポートしているかどうか確認したいメールアドレス > 履歴を表示
をクリック。
そうすると過去五回分のインポート履歴が見れます。
そうしなくても、インポートの設定時に「Hotmail」等のラベルを貼る設定にしておくと確認しやすいです。

過去ログに、Hotmailの代わりとしてGmailが使えないという方がいらっしゃいました。
(どういう条件で使用出来ないのか不明なので、以下の提案も駄目かもしれませんが。)
代わりにフリーメールを探す際、POP3を受信できるサービスを探す必要があります。
Yahoo.co.jpは「@yahoo.co.jp => メーラ」ならPOP3が使用出来ますが、「メールサービス => @yahoo.co.jp」はPOP3に対応していませんので、Gmailの代わりにはなりません。
自分は使用した事ありませんが、LivedoorのメールサービスがGmailの企業用であるGoogle Appsを使用して運用しています。
細かい差異があり、完全に同じという訳にはいきませんが多分POP3を使用した受信が出来るはずです。
(Google AppsのヘルプにMailFetcherの記載があったので、多分大丈夫なはず。)
livedoor Mail
http://mail.livedoor.com/

明日、就活の面接なのに何やってんだろw

2010/11/02

Gmail への移行方法

Hotmailでの障害が既に4日目に突入してますね。
自分のアカウントは大丈夫だったんですけど、誰かの助けになればとGmailへの移行方法を書いておきます。

1) 連絡先&メールを一括でGmailに取り込む方法
連絡先のインポート
https://mail.google.com/support/bin/answer.py?hl=ja&ctx=mail&answer=117173
が当該記事になります。
ここで注意点が1つ
「@hotmail.co.jp」「@live.jp」のアカウントは、この方法が使用できません。
後述の2)の方法でGmailに取り込んでください。
「サポートされているメール プロバイダを確認するには、ここをクリックしてください」に載っているのは、「@hotmail.com」「@msn.com」「@live.com」のみです。

・Gmailにログイン > 設定 > アカウントとインポート > メッセージと連絡先のインポート: > 別のアドレスからインポート
をクリックし、「~@hotmail.com」等の取り込みたいメールアドレスを入力
・「~@hotmail.com」等の取り込みたいメールアドレスのパスワードを入力
・後は必要なオプションにチェックを入れて、完了
「24~48 時間かかることがあります。」とあるので、気長に待ちましょう。
さらに注意点、この方法では今後の新着メールがGmailに取り込まれません。
(「今後 30 日間の新着メールをインポートする」にチェックを入れても、30日を過ぎると取り込まれない。)
よって、今後もhotmail宛のメールをGmailに取り込みたい場合は、2)の方法を設定しておく必要があります。

2)メールの取り込み
Mail Fetcher
https://mail.google.com/support/bin/answer.py?answer=21288
が当該記事になります。
この方法は@以下に関係なく、POP3に対応しているメールアドレスなら、プロバイダーでもYahooでもGmailに取り込めます。

・Gmailにログイン > 設定 > アカウントとインポート > POP3 を使用したメッセージの確認: > POP3のメールアカウントを追加
をクリックし、「~@hotmail.com」等の取り込みたいメールアドレスを入力
・「ユーザー名」は「~@hotmail.com」等の取り込みたいメールアドレス
・「パスワード」は「~@hotmail.com」等の取り込みたいメールアドレスのパスワード
・「POPサーバー」は「pop3.live.com」
・「ポート」は「995」
・後は必要に応じてオプションにチェックを入れる。
「受信したメッセージのコピーをサーバーに残す」にチェックを入れても、サーバ上に残らないプロバイダーが報告されています。
pop.nifty.comでメールを残せない問題
http://groups.google.co.jp/group/gmail-troubleshooting-ja/browse_thread/thread/188601246fa2ab76
hotmail.co.jpのみに関してですが、自分の処ではhotmail側にメールは残っています。
後、MailFetcherですが、POP3のアカウントを5つまでしか追加できません。
6個以上お持ちの方は、追加でGmailを取得して自動転送するか、hotmail内の自動転送を使用してください。
さらに、MailFetcherは最低1時間に1回のアクセスを行い、メールを取得します。
アクセス間隔はユーザサイドでは変更できず、MailFetcherが受信したメール数に応じてアクセス間隔が短くなります。
最後に、「@hotmail.com」のアカウントからインポートすると文字化けを起こすという現象が報告されています。
”hotmeil.com” からインポートしたメールが文字化けしてしまう。
http://www.google.com/support/forum/p/gmail/thread?tid=2778f9fd412be5a2&hl=ja
一応解決策っぽいのが載っていますが、手間ですね。

3)連絡先のインポート
他のメール プロバイダからの連絡先のエクスポート
https://mail.google.com/support/bin/answer.py?hl=jp&answer=12118
が当該記事になります。
うまくいかない場合、一度CSVファイルに落とし、編集を掛ける必要がありますので、以下の記事も参考にして下さい。
CSV ファイルの作成や編集
https://mail.google.com/support/bin/answer.py?hl=jp&answer=12119
CSV ファイルのインポート
https://mail.google.com/support/bin/answer.py?hl=jp&answer=14024

・Hotmailにログイン > オプション > 詳細オプション > アドレス帳のカスタマイズ > アドレス帳のエクスポート
・画像中の8文字のを入力し、CSVファイルをエクスポート
・上記の当該記事を参考に編集し、Gmailにインポート

4)GmailからHotmailのアカウントで返信
独自に設定した [From] アドレスの追加
https://mail.google.com/support/bin/answer.py?hl=jp&answer=22370
が当該記事になります。

・Gmailにログイン > 設定 > アカウントとインポート > 名前: > 別のアドレスからメッセージを送信
をクリックし、送信者名と「~@hotmail.com」等の返信に使用したいメールアドレスを入力
送信者名は相手に表示されるので、捨て垢等のメールアドレスの際は気をつけて下さい。
・SMTPサーバを選べます。
GmailのSMTPサーバを通して送信する場合、サーバの設定は要らずそのままでO.K.
しかし、相手のメーラによっては、Gmailのメールアドレスも表示される可能性もある。
他のSMTPサーバを通して送信する場合、使用したいSMTPサーバの設定が必要。
SMTPが違うので、Gmailのメールアドレスは表示されない?(ちょっとこの辺は不確定です。)
HotmailのSMTPサーバの設定は、
「SMTPサーバー」が「smtp.live.com」
「ポート」が「25」 (プロバイダが「Outbound Port25 Blocking = OP25B」を行っていると送信不可?)
「ユーザー名」は「~@hotmail.com」等の返信に使用したいメールアドレス
「パスワード」は「~@hotmail.com」等の返信に使用したいメールアドレスのパスワード
「TLS/SSL」は必要なので、「セキュリティで保護された接続(SSL)を使ってメールを送信する」にチェックを入れる

Hotmailのサーバの使用は以下に書いてあります。
HotmailをPOP3/SMTPでアクセスする
http://www.atmarkit.co.jp/fwin2k/win2ktips/1124hotmail/hotmail.html

5)POPでのバックアップ
今回のように、突然メールが使用できなくなることもありえます。
(機械なんで、故障が無い訳が無い)
そこで、メーラを使用してバックアップを取りましょう。
GmailはIMAP4とPOP3に対応していますが、バックアップ目的であればPOP3をお勧めします。
使用されるメーラは皆さんそれぞれなので、以下を参考に設定して下さい。
POP
https://mail.google.com/support/bin/topic.py?hl=jp&topic=12912
Gmailのサーバの使用は以下の記事です。
その他のメール クライアントの設定
https://mail.google.com/support/bin/answer.py?hl=jp&answer=13287

6)Gmailでの注意点
Gmailではフォルダという概念ではなく、ラベルという概念で作成されています。
違いは以下の記事を参考にして下さい。
フォルダ
https://mail.google.com/support/bin/answer.py?hl=jp&answer=10708

フィルタを使用して、自動的にラベルを貼り付けたり、転送することができます。
フィルタを使用する
https://mail.google.com/support/bin/answer.py?hl=jp&answer=6579
転送用のフィルタは20個までの制限があります。
フィルタには演算子が使用でき、柔軟な絞り込みが可能です。
演算子は、メールの検索時にも有効です。
ブール演算子を使用して検索条件やフィルタ条件を絞り込むにはどうすればよいですか。
https://mail.google.com/support/bin/answer.py?hl=jp&answer=8931
詳細検索の使用
https://mail.google.com/support/bin/answer.py?answer=7190

携帯に自動転送する場合、「なりすまし」を拒否する設定になっていると、携帯で受信できません。
別のメール アカウントにメールを自動転送する
https://mail.google.com/support/bin/answer.py?hl=jp&answer=10957
携帯電話への自動転送が届きません。
https://groups.google.com/group/gmail-troubleshooting-ja/browse_thread/thread/c46d7fd1940b2d7f/b352a3227433b9f6?lnk=gst&q&pli=1
自動転送を使用して、違う会社のメールアドレスにバックアップを取るというのもひとつの手です。

最後に
Gmail ヘルプ
https://mail.google.com/support/
Gmail ヘルプフォーラム
http://www.google.com/support/forum/p/gmail?hl=ja&utm_source=HC&utm_medium=leftnav&utm_campaign=gmail
Gmail ヘルプグループ (現在はヘルプフォーラムに移行しており、過去ログの検索にのみ対応)
https://groups.google.com/group/gmail-help-ja
ヘルプにないのか、過去に同じような事象はないのか、等に気をつけて投稿して下さい。