カンパ〜イ!←最初の1杯目、なに頼む?

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 …

どなたか解決方法、あるいは参考HPなどを教えていただけると助かります。
よろしくお願いします。

A 回答 (2件)

>なので,当方の検証では


>System.Net.Mail.BodyEncoding = System.Text.Encoding.GetEncoding("iso-2022-jp");
>とかいう一行を送信前に設定しています。

全然ちげぇorz

msg.BodyEncoding = System.Text.Encoding.GetEncoding("iso-2022-jp");

http://msdn.microsoft.com/en-us/library/system.n …
を混ぜて説明しようとして誤植っている。

>ヘッダの文字符号化方式の指定は出来なかったような気がする。
Subjectだけはあるようだ。
http://msdn.microsoft.com/en-us/library/system.n …
    • good
    • 0
この回答へのお礼

himajin100000さんの回答からコーディングに問題は無いとわかったので
yahooの方の設定を見直してみたら、あっさりと送信できてしましました。
メールソフトでの送受信を許可していないだけでしたorz
拍子抜けな理由で申し訳ないです。
文字化けの問題も事前に回避することができました。
本当にありがとうございました!

お礼日時:2008/07/21 18:54

手元のSharpDevelop,かつ質問文のソースで正常に送信できています。


(あ、もちろん変数に適切な値を代入しています)

#ちなみに
himajin100000@yahoo.co.jp
をユーザー名にしたら質問者さんと同じ例外で刎ねられたけど
himajin100000
をユーザー名にしたら送受信が正常に行われた

#なお,現在の正式版はどうか知らんが,俺が試したのはYahoo! Mail Betaで,このバージョンの場合,本文が文字化けしました。
(Subject等はUTF-8でも正常に表示された)
なので,当方の検証では
System.Net.Mail.BodyEncoding = System.Text.Encoding.GetEncoding("iso-2022-jp");
とかいう一行を送信前に設定しています。

#ヘッダの文字符号化方式の指定は出来なかったような気がする。前にWankuma.Net.Mailでその部分を独自実装されて多様な気がしたから調べようとしたけど繋がらん。
    • good
    • 0

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


おすすめ情報