- 締切済み
vb2010でメール送信したい
色々検索しているのですが。 MailはWebのメンバではありませんというメッセージが出ます。どうすれば良いでしょうか。 System.Web.Mail.SmtpMail.Send( _ "system@sample.domain", _ "kodai@sample.domain", _ "プログラムから送信する電子メール", _ "この電子メールはプログラムから送信しています。" & vbCrLf _ & "これは本文の2行目です" & vbCrLf)
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Yune-Kichi
- ベストアンサー率74% (465/626)
例外が発生した場合,通常そのMessageプロパティに例外に関する情報が含まれます。 # 場合によっては,InnerExceptionを辿る必要があるかもしれませんが。 デバッグ実行を行えば,例外が発生した時点でIDEが検知し, 例外インスペクタでExceptionオブジェクトの各プロパティを表示してくれるはずです。 まずはMessageプロパティの値を見て,例外の原因を調べてください。 ところで,auone-net.jp,SMTPS使って認証が必要なように読めるのですが……。 http://www.au.kddi.com/support/internet/guide/mail/windows/windows-01/ http://msdn.microsoft.com/ja-jp/library/system.net.mail.smtpclient.enablessl.aspx http://msdn.microsoft.com/ja-jp/library/system.net.mail.smtpclient.credentials.aspx
- Yune-Kichi
- ベストアンサー率74% (465/626)
回答の前に……。 System.Web.Mail名前空間のクラスの利用は,.NET Framework 2.0より推奨されていません。 代替として,System.Net.Mail名前空間を利用します。 ref) http://msdn.microsoft.com/ja-jp/library/system.web.mail.aspx その上で,System.Web.Mail名前空間のクラスは,System.Web.dllに含まれます。 このアセンブリへの参照設定は,ASP.NETを利用するプロジェクト以外において,デフォルトでは設定されていません。 また,このアセンブリは.NET Framework 3.5および.NET Framework 4のClient Profileでは提供されません。 このため, ・プロジェクト設定でターゲットフレームワークがClient Profileであるならば,Client Profileでないフレームワークに変更する ・System.Web.dllへの参照設定を追加する という作業が必要になります。
補足
System.Net.Mailに変えて少し前進しましたがダメでした。 sc.Send(msg)の所でSMTP Exceptionはハンドルされませんでした。とメッセージが出てしまいます。 Dim msg As New System.Net.Mail.MailMessage() msg.From = New System.Net.Mail.MailAddress("*****@ae.auone-net.jp", "鈴木") msg.To.Add(New System.Net.Mail.MailAddress("*****@pref.kanagawa.lg.jp", "加藤")) msg.Subject = "こんにちは" msg.Body = "こんにちは。" + vbCrLf + vbCrLf + "それではまた。" Dim sc As New System.Net.Mail.SmtpClient() sc.Host = "msa.ae.auone-net.jp" sc.Port = 25 sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network sc.Send(msg) msg.Dispose() sc.Dispose()