- ベストアンサー
Visual C#でのメール送信の方法とエラー対処法
- Windows XPでのVisual C#を使用してyahooのフリーアドレスからメールを送信する方法について紹介します。
- また、エラーメッセージ「MTP サーバーにセキュリティで保護された接続が必要であるか、またはクライアントが認証されていません。」について解決方法を説明します。
- 参考となるHPもご紹介します。
- みんなの回答 (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.net.mail.mailmessage.bodyencoding.aspx を混ぜて説明しようとして誤植っている。 >ヘッダの文字符号化方式の指定は出来なかったような気がする。 Subjectだけはあるようだ。 http://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.subjectencoding.aspx
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
手元の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でその部分を独自実装されて多様な気がしたから調べようとしたけど繋がらん。
お礼
himajin100000さんの回答からコーディングに問題は無いとわかったので yahooの方の設定を見直してみたら、あっさりと送信できてしましました。 メールソフトでの送受信を許可していないだけでしたorz 拍子抜けな理由で申し訳ないです。 文字化けの問題も事前に回避することができました。 本当にありがとうございました!