アプリ版:「スタンプのみでお礼する」機能のリリースについて

先日も別の所で類似の質問をさせて頂き多数の方々から暖かいご指導を受けることが出来ました
しかし私は生来血の巡りが悪く今ひとつ理解が出来ません
そこで誠に申し訳ありませんが再度質問させて頂きます

SMTPプログラムを作りました
GAIL、hotmail、OCN、liverdoorの各送信サーバーでは問題なく送信出来ます
しかしyahoo送信サーバーを使用するとエラーになります
プログラムの主要部分は次の通りです
{
SmtpClient smtp = new SmtpClient();
smtp.SendCompleted += new SendCompletedEventHandler(smtp_SendCompleted);

smtp.Host = "smtp.mail.yahoo.co.jp"; //yahoo送信サーバー名
smtp.Port = 587 //ポート番号
smtp.Credentials = new System.Net.NetworkCredential("○○○@yahoo.co.jp", "MyPassWord"); //認証 ***** (2)
smtp.EnableSsl = true; //SSL有り ******************************* (1)

MailMessage mm = new MailMessage();
mm.Subject = "電文タイトル";
mm.Body = "電文内容";
mm.From = new System.Net.Mail.MailAddress("○○○@yahoo.co.jp", "私の名前");
mm.To.Add(new System.Net.Mail.MailAddress("相手のメールアドレス", "相手の名前"));

smtp.SendAsync(mm, mm); //送信開始
}

private void smtp_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
MailMessage msg = (MailMessage)e.UserState;
if (e.Cancelled)
{ MessageBox.Show(this,"送信中止","送信プロ",MessageBoxButtons.OK,MessageBoxIcon.Information); }
else
{
if (e.Error != null)
{ MessageBox.Show(this, "送信エラー発生" + "\r\n" + e.Error.ToString(),"送信プロ",MessageBoxButtons.OK, MessageBoxIcon.Hand);}
else
{ MessageBox.Show(this,"送信完了","送信プロ",MessageBoxButtons.OK,MessageBoxIcon.Information);}
}
msg.Dispose(); //送信メッセージ廃棄
}


上記の設定で送信依頼を出すと
『サーバーはセキュリテイで保護された接続をサポートしていません』とのエラーになります

そこで(1)の部分をfalseすると
『SMTPサーバーにセキュリテイで保護された接続が必要であるか、またはクライアントが認証されていません』とのエラーになります
(2)の送信者メールアドレスとパスワードは日常thunderbirdやOutLookで使用しているものでありOKのはずです

yahoo送信サーバーには特殊な設定が必要なのでしょうか?
OutLookを準用して設定しておるつもりですが解決できません

ぜひご指導宜しくお願い申しあげます

【追伸】
thunderbirdの自動設定ではポート番号は465になっていましたので、465でテストしてみましたが結果は同一でした
yahoo送信サーバーを使用するには yahooデリバーに登録していなければならないとの意見がありましたので登録してみましたが結果は同じです

A 回答 (1件)

なにはともあれ、正しい設定を説明しているヒトに聞けばよろしいかと思います。


http://help.yahoo.co.jp/help/jp/mail/mailsoft/in …
(Yahoo!メール > ヘルプ > メールソフトで送受信するには)

そこで関係ありそうな項目をひと通り読めば、
http://help.yahoo.co.jp/help/jp/mail/mailsoft/ma …
>アカウント名は、Yahoo!メールアドレスの「@yahoo.co.jp」より前の部分となります。

http://help.yahoo.co.jp/help/jp/mail/mailsoft/ma …
>SMTP over SSLを利用する場合
>SSLを利用する設定に変更し、ポート番号を「465」に設定

などと書いてあるので
smtp.Port = 465 //ポート番号
mtp.Credentials = new System.Net.NetworkCredential("○○○", "MyPassWord"); //
の両方の変更が必要なのでしょう。

もっと必要かどうかまでは知りませんので、試したり他のページも読んだりしてみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました

大変参考になりました

お礼日時:2011/12/30 20:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!