質問: サンダーバードでの2つのyahooアカウントを使っての送信 いつもお世話になっております。 検索してみたのですが、適当なものが見つからなかった為、質問させて頂きたく。 サンダーバードで2つのyahooのアカウント(a@yahoo.co.jpとb@yahoo.co.jp)を使ってメールの送受信をしております。 受信については2つとも問題ないのですが、 「ツール」→「アカウント設定」→「送信(smtpサーバ)」を選択して、a@yahoo.co.jpを「既定」にして、メール作成時b@yahoo.co.jpのアカウントを選択すると 「メールの送信中にエラーが発生しました。メールサーバからの応答:smtp.mail.yahoo.co.jp closing trasmission channel.this email address must be verified first before you can use it for sender/from field.メールアドレスの設定が正しいか 確認してください」のエラーが出た後、 「メッセージを送信できませんでした。メッセージは送信できませんでした。メール送信(smtp)サーバへの接続に失敗しました。サーバが有効でないか、接続を拒否されたかもしれません。メール送信(smtp)サーバの設定が正しいか確認してやり直してください。もしくはネットワーク管理者に問い合わせてください。 と表示され送信できません。 「ツール」→「アカウント設定」→「送信(smtpサーバ)」を選択して、b@yahoo.co.jpを「既定」にして、メール作成時a@yahoo.co.jpのアカウントを選択しても同様です。 「ツール」→「アカウント設定」→「送信(smtpサーバ)」を選択して、b@yahoo.co.jpを「既定」にして、メール作成時b@yahoo.co.jpのアカウントを選択すると送信できます。 どちらのアカウントについても ポート番号は25 セキュリティと認証は ユーザ名とパスワードを使用する...チェック入り ユーザー名...a、もしくはb 保護された接続を使用する...いいえ に設定してあります。 ポート番号を587に変更してみたのですが、同じ現象が起こります。 どなたか解決策をご存知の方がおられればご教示頂きたく。
回答: それは、認証に使っているアカウントと実際に送るメールの送信アドレスが違っているからです。なりすましメールとかの送信を防ぐためのyahoo側の手段ですね。 例えば、既定のアカウントをaにしておいて、bのアドレスで送るということは、smtpサーバに対して「私はaです。認証してください。」と言っておきながら、実際送る時には「bです」って言っている訳ですから、お固い門番(smtpサーバ)は通してくれないのがあたりまえですね。 さて、解決法ですが、一通毎に使用するサーバ設定ができたはずなので、既定をaにしておいてbのアドレスで送る時には、そのメールで使用する送信サーバをbのアカウントに設定してやればokです。 毎度毎度設定をするのが面倒ということであれば、送信サーバは接続に使用しているプロバイダのサーバに設定すると、使える可能性はあります。(ただしこの場合でもプロバイダがきっちりとなりすまし対策をしていて、自分とこのドメイン名以外のメールアドレスをfromに設定しているメールは送信できなくされている可能性はあります) また、それもngであれば、自分のpcにフリーのsmtpサーバソフトを入れて、送信サーバの設定をlocalhostとすれば、それで使用することも可能です。(この場合も相手先や経路のメールサーバの設定によっては送れなくなることがあります) つまり、100%使えるというのは、使うメールアドレス毎に送信サーバを都度設定するか、メールアドレス別にメールソフトを使い分けるか。 あとは環境によって使えるかどうかやってみないとわからないけど、送信サーバをまったく別の認証のいらないサーバにする、という方法になるかと思います。