C# SmtpでYahooサーバーから送信できない

このQ&Aのポイント
  • VCS2010Expressで、Yahooサーバーからメールを送信するための簡単なメールソフトを作成しようとしていますが、SmtpExceptionが発生してしまい、送信することができません。
  • Yahoo側の設定も正しく行っていると思いますが、メールを送信できない原因を知っている方に助力をお願いします。
  • Yahooでリバーリポートの設定を有効にし、Yahooヘルプで書かれている内容も確認しましたが、それでもSmtpExceptionが発生し、メールを送信できません。
回答を見る
  • ベストアンサー

C# SmtpでYahooサーバーから送信

お世話になります。 VCS2010Expressで、簡単なメールソフトを作成しようとしているのですが、 SmtpExceptionが発生してしまい、送ることができません。 Yahoo側の設定も、正しく行ったと思うのですが、原因の解る方、 ご助力をお願いいたします。 ================================================================= private void button1_Click(object sender, EventArgs e) { SmtpClient sm = new SmtpClient("smtp.mail.yahoo.co.jp", 25); sm.Credentials = new System.Net.NetworkCredential("ログイン名","パスワード"); sm.Send("自分@yahoo.co.jp","宛先@yahoo.co.jp", "b", "c"); MessageBox.Show("きちんと送れたようです。"); } ======================================================================= Yahoo側でも、Yahooでリバーとやらの設定も有効にし、 下記のサイトで書かれている内容も確認しました。 http://www.yahoo-help.jp/app/answers/detail/p/565/a_id/47648 http://www.yahoo-help.jp/app/answers/detail/p/536/a_id/43934/faq/pc-home しかし、その結果SmtpException、メールを送信できませんでした。(添付図) と出てしまいます。 原因と対策を、何卒よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.1

SmtpClient sm = new SmtpClient("smtp.mail.yahoo.co.jp", 25); YahooのSmtpポートは25番は使えません。587番を使ってみてください。

tatapatank
質問者

お礼

ご返答、ありがとうございます。 できました。 どこかのサイトで25にしろと書かれていたので、そのまま 鵜呑みにして25でやっていたのがいけなかったようです。 しかし、Yahooのサイトにもポート番号は書かれていませんでしたが…。 間抜けな質問をして、申し訳ありませんでした。 また何かありましたら、よろしくお願いいたします。

関連するQ&A

  • Visual C#でのメール送信

    OS:Windows XP 言語:C# (Visual Studio 2005 Express) 以上の環境で、yahooのフリーアドレスからメールを送信するアプリケーションの作成をしようとしてます。 いろいろ参考にして以下のコードを書いてみましたがうまくいきません。 from = 送信元アドレス; to = あて先アドレス; subject = "テスト"; body = "テスト"; id = yahooID; pass = yahooのパスワード; MailMessage msg = new MailMessage(from, to, subject, body); SmtpClient sc = new SmtpClient("smtp.mail.yahoo.co.jp", 587); sc.Credentials = new System.Net.NetworkCredential(id, pass); sc.EnableSsl = false; sc.Timeout = 100000; sc.Send(msg); msg.Dispose(); エラーの内容は以下になります。 MTP サーバーにセキュリティで保護された接続が必要であるか、またはクライアントが認証されていません。 サーバーの応答: Sorry, please use SMTP-AUTH instead - for help go to http://help.yahoo.co.jp/help/jp/mail/whatisymail/whatisymail-51.html どなたか解決方法、あるいは参考HPなどを教えていただけると助かります。 よろしくお願いします。

  • メールの送信について

    現在、VBAを学習中なのですがメールの送信がどうしてもできません。 以下にコードを記述しますので、間違えている点などありましたら、ご指摘ください。 よろしくお願いいたします。 Imports System.Net.Mail Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim mailMessage As New System.Net.Mail.MailMessage("usename@gmail.com", "usename@hotmail.co.jp", "Subject", "Body") Dim smtpClient As New System.Net.Mail.SmtpClient("smtp.gmail.com") smtpClient.Credentials = New System.Net.NetworkCredential("usename@gmail.com", "pass") smtpClient.EnableSsl = False smtpClient.Port = 587 Try ' 送信する smtpClient.Send(mailMessage) MessageBox.Show("送信しました") Catch ex As SmtpException ' SMTPサーバーへの接続に失敗した場合 MessageBox.Show(ex.Message) End Try End Sub End Class

  • Yahooのアカウントは一人で複数もてますか?

    Yahoo Japanのアカウントは一人で複数個所持できるようですが、何個とっても問題ないのでしょうか?Yahooメールをネットのサービス用に使っているのですが、できれば使い分けたいと思います。 Yahooのヘルプページ (下記)をみると http://www.yahoo-help.jp/app/answers/detail/p/544/a_id/41926 作成できる数に決まりは無い、とのことですが、一人でたくさんのアカウントを作ってしまっても大丈夫なのでしょうか?

  • Yahooメールアカウントをメーラーに設定したい

    www.yahoo-help.jp/app/answers/detail/p/565/a_id/47648 を、見たのですが セキュリティーをはじめとして、 ポート、認証方法、等 解らない事ばかりで困っています。。 どう設定したらいいか、お教えください。

  • C# メール送信ついて困っています

    c#で送信をしょうとしたらエラーが出ています。 ※自分のプロバイダー(biglobe)を使ってメールの例です。 //Mail Initialize System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient() smtp.Host = "mail.biglobe.ne.jp"; smtp.Port = 587; //Mail認証 smtp.Credentials = new System.Net.NetworkCredential("ユーザー名", "パスワード"); //SSL smtp.EnableSsl =true; System.Net.Mail.MailMessage oMsg = new System.Net.Mail.MailMessage("to アドレス", "from アドレス", "件名", "本文"); //メール送信 smtp.Send(oMsg); これを実施したらエラーが サーバーはセキュリティで保護された接続をサポートしていません。って出ています。 //SSLをfalseにしたら smtp.EnableSsl =false; メールボックスが使用できません。 サーバーの応答: Can not speak with youって出ています。 どこがいけないのでしょうか? どなたか教えて戴けませんか?お願いいたします。

  • ヤフーメール シークレットID 便利ですか?

    ヤフーメール シークレットID 便利ですか? もう1つリカバリ用のメールを 登録しなくてもいい? [Yahoo! JAPAN IDに関するヘルプ - シークレットIDとは] https://www.yahoo-help.jp/app/answers/detail/p/544/a_id/41951/~/%E3%82%B7%E3%83%BC%E3%82%AF%E3%83%AC%E3%83%83%E3%83%88id%E3%81%A8%E3%81%AF

  • サンダーバードでヤフーメールを送信できなくなった

    サンダーバードでヤフーメールの受信はできるんですが、 送信することができなくなりました。 エラーの内容は、 メールの送信中にエラーが発生しました。メールアドレスの設定が正しいか確認してください。サーバからの応答:Sorry,please use SMTP-AUTH instead-for help to go to http://www.yahoo-help.jp/app/answers/detail/p/565/a_id/47789 ヤフー以外のメールアドレスを使って、メールを送信するとできますが、 私のサンダーバードに登録されている、ヤフーのメールアドレスからの送信は全てエラーがでます。 最近はヤフーメールアドレスからではなく、それ以外のメールアカウントを使って送っていたので いつの間にか送信ができなくなっていたようです。受信はできています。 よろしくおねがいします。 サンダーバードバージョン24.5.0

  • VB.NETからGmail経由でメールを送信について

    VB.NETからGmail経由でメールを送信について いつも大変お世話になっています。 VB.NETからGmail経由でメールを送信についてご教授願います。 Dim mailMessage As New System.Net.Mail.MailMessage _ ([送信元アドレス], [送信先アドレス], "題名", "本文") Dim smtpClient As New System.Net.Mail.SmtpClient _ ("smtp.gmail.com") smtpClient.Credentials = New System.Net.NetworkCredential _ ([送信元アドレス], "パスワード") ' << ※1 'smtpClient.EnableSsl = True ’<< ※2 smtpClient.Port = 587 smtpClient.Timeout = 10000 smtpClient.Send(mailMessage) <問題> 「送信できませんでした」とのエラーメッセージが表示。 <所感> ※1で[送信元アドレス]を設定しているのが原因?? ※2[True]/[False]を変更しても送信できませんでした。

  • Yahoo!ショッピング、注文確認メールが届かない

    Yahoo!ショッピングで商品を注文したのですが注文確認メールが届きません。Yahoo!ショッピングヘルプhttp://www.yahoo-help.jp/app/answers/detail/a_id/40104/p/599を読んだのですがよくわかりません。具体的にどのような設定をすれば良いでしょうか?

  • yahoo送信サーバーの使い方???

    先日も別の所で類似の質問をさせて頂き多数の方々から暖かいご指導を受けることが出来ました しかし私は生来血の巡りが悪く今ひとつ理解が出来ません そこで誠に申し訳ありませんが再度質問させて頂きます 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デリバーに登録していなければならないとの意見がありましたので登録してみましたが結果は同じです

専門家に質問してみよう