※要は二段階認証で引っかかった所以外は見所がないよ。
まとめるとタイトルの通りで、googleアカウントに二段階認証がついてると、postfixでの「sasl_passwd」のパスワードが「アカウントのパスワード」ではダメになります。
詳しくは以下の通りです。ちなみに以下のURLで色々辿るとアプリのパスワードが作れます。それで通せます。
二段階認証の場合に必要な追加の作業
前回までのあらすじ
引越し先の借屋でインターネット環境がゴミクズそのものだった。なのでSoftbank Airでネットに接続だ。
・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・
・・・・・・
・・・
ソフバンエアはポート転送ができない。
つまり自宅のサーバーが外部ネットワークに公開できない。
マイクラサーバーが立てられない。色々できない。
一応解決方法はあるみたいだけどめんどいし、
結局VPSは借りないといけないので・・・・・・
・・・・・・
・・・
ConoHaのVPSを借りた。
理由は
最重要:VPSである。
重要:初期費用無し。
重要:最安プランで千円切る。
おまけ:ConoHachanKAWAII
ていうかVPSでさくらに対抗できるのこの子以外見当たらなかった・・・
初期費用0円はすごいし、最安プランでも十分に良い。
とゆーわけで
Redmine立てた。最近のRedmineはコマンド5つ書くだけでいいんだね。でもRedmineからメール飛ばないと不便だにゃあ。
CentOS7系で、postfixのみでメール送信したーい!
なんか大前提となる知識が圧倒的不足していたのでメモ。
知識
■SMTPメール送信のプロトコル名です。
要は「こう言う方式で信号が送られてきたらメールと解釈して処理してね」
と言うメール送信時の規約です。
メールを送信・転送するためのプロトコル。受信とかできない。
※メール受信したいなら、POP3とか言うメール受信のプロトコルで動いているソフトウェアを別途で入れてね
■postfix(ポストフィックス)
簡単にいうと:
メールを送信するためのソフトウェア。受信とかできない。
本当に送信だけ。でも転送もできるよ。
難しくいうと:
SMTPサーバーとなるソフトウェア。
■どうやってメールが送られる?
①SMTPに則った信号(要はメール)をネットに垂れ流そうとします。
②メールサーバ(postfix)がメールに乗っている宛先のドメインをDNSに聞きます。
③DNSから帰ってきたIPアドレスの場所に送られます。
要はIPアドレスさえ分かればメール送れる。
一応"@"以降に"[999.999.999.999]"って感じで指定すれば届く。
でもIPアドレスを特定するのは果てしなくめんどいのでやめとこう。
やりたいこと
メールを送信したい。嫌なことが起きたこと
でもpostfixでテキトーに設定し、"root@asanes.jp"とかいう感じの架空のアドレスを送信元アドレスにして
gmailに送信すると、1回は受け取ってくれるが
「おめーのメール、送信元のドメインがDNSに無いからスパムな」
と言われ、一定時間gmail側で完全に拒否られた。
1回は届くけど、スパムあんど一定時間完全拒否とかいうコンボ。
まあ当たり前よな。
多分gmail以外でもそんな感じだろうし何よりRedmineで受け取る先は
gmailの予定だからスパム扱いは困る。
要はメールのドメインを取得すればいいんだけど、月100円も嫌です。
ConoHachanは月630円でにゃんにゃんできるからいいけど。
じゃあ、gmail名義で出せばいいじゃない
とゆーわけで自分の持ってるgmailのアドレスでメールを送信します。送信元のアドレスがDNSにあればいいんだよ!
とゆーわけでgmailのアドレスを送信元のアドレスにするのですが
「承認してねーよ、詐称してんじゃねーよ」
怒られる。そりゃそうだ。
仕方ないので承認しまーす。
sasl_passwdを設定してー。
承認しましたー。
「ユーザーとパスワードがあってねえよ」
はぁ?
いや正しいんですけど間違いなく。どういうことなの。
そういやなんかURLあるなこのログ。
↓
二段階認証の場合に必要な追加の作業
アプリ用のパスワード登録して、それを書いたら通った。
二段階認証おそるべし。