• 締切済み

vb2010でメール送信したい

色々検索しているのですが。 MailはWebのメンバではありませんというメッセージが出ます。どうすれば良いでしょうか。 System.Web.Mail.SmtpMail.Send( _ "system@sample.domain", _ "kodai@sample.domain", _ "プログラムから送信する電子メール", _ "この電子メールはプログラムから送信しています。" & vbCrLf _ & "これは本文の2行目です" & vbCrLf)

みんなの回答

回答No.2

例外が発生した場合,通常その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

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

回答の前に……。 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への参照設定を追加する という作業が必要になります。

noname#185525
質問者

補足

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()

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • リアルタイムなメール送信

    Web系初心者です。 Win2003環境で、VB2005を使ってメール送信機能を実現しようとしています。 以下のサンプルのような作りで送信自体は問題無くできるようになりました。 求められているものは、数分から数十分の間に数百件から数万件の それぞれ別のアドレス、別な内容のメールを送信したいのです。 以下のSendMail関数をループで回して、宛先と本文を引数に回そうと 考えていたのですが、”SMTPMail.Send(Mail)”で時間が掛かり過ぎて います。 テストしてみると1件の送信に約6秒、50件に送信した場合、 開始から終了までに約6分ほどかかりました。 そこで質問です。 1.これをもっと早くしたいのですが、どのような方法がありますか?  簡単に言えば、送信したい全てのアドレスと本文を設定した後に、  ”SMTPMail.Send(Mail)”を1回コールして終わり。の様にできれ  ばうれしいのですが。(それができるとして早くなるのかな?) 2.以下のプログラムでは無理な場合、他の方法はありますか? 3.どこかにサンプル的な物はありませんか? ---サンプル ここから--------- Function SendMail() Dim SMTPMail As System.Web.Mail.SmtpMail Dim Mail As New System.Web.Mail.MailMessage SMTPMail.SmtpServer = "smtp.dummy.com" Mail.From = "dummyaddr@dummy.com" '送信元アドレス Mail.To = "sendaddr@dummy.com" '送信先アドレス Mail.Subject = "Test" 'タイトル Mail.BodyEncoding = System.Text.Encoding.UTF8 'メールの本文のエンコードタイプ指定 Mail.BodyFormat = System.Web.Mail.MailFormat.Text '本文 Mail.Body = "メールのテスト送信" & vbCrLf _ & "こんにちは!" & vbCrLf _ & "おげんきですか?" & vbCrLf 'メールを送る SMTPMail.Send(Mail) End Function ---サンプル ここまで---------

  • VB.NETでフリーメールアドレスにメール送信できない

    VisualStudio2005で開発をしています。 SmtpClientクラスを使ってメールを自動送信するアプリを作成中なのですが、 社内サーバー同士でのメール送信は問題ないのですが、社外のメールサーバーのアドレスを指定した場合に、メールが送信されなくて困っています。 ○例:)yyyyyy@xxxxxx.co.jp → zzzzzz@xxxxxx.co.jp ×例:)yyyyyy@xxxxxx.co.jp → zzzzzz@zzzzz.com 調べてはみたのですが、原因を特定することができなかったので質問させていただきました。 1.googleやyahooなどのメールサーバーに対してでもメール送信できるようにしたいのですが、どの様にすればいいでしょうか? 2.上記のように書きましたが、本当はメールサーバまでは送信されていて、クライアントが受け取れていないという可能性もあるのでしょうか? 皆様のお力を借りたく思います。 どうかよろしくお願いいたします。 ↓↓↓以下、現在作成中のソースコード↓↓↓ Private Sub btn_Send_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Send.Click '送信者 Dim senderMail As String = "xxxxx@yyyyy.co.jp" ''宛先 Dim recipientMail As String = "xxxxx@yyyyy.com" '件名 Dim subject As String = "タイトル" '本文 Dim body As String = "本文1行目" + vbCrLf + vbCrLf + "本文3行目" Dim sc As New System.Net.Mail.SmtpClient() ' メールメッセージインスタンスの生成 Dim objMessage As New System.Net.Mail.MailMessage(senderMail, recipientMail, subject, body) 'SMTPサーバーを指定する sc.Host = "mail.yyyyy.co.jp" sc.Port = 25 'メールを送信する sc.Send(objMessage) End Sub

  • POP Before SMTPでメールを送信する方法

    今回VB.NETを使い、メール送信ソフトを開発しています。 色々調べたのですが、POP Before SMTPだけどう記述してよいか分かりません。 詳しい方が居ましたら、よろしくお願いいたします。 以下認証なしのソース   Dim mail As New System.Web.Mail.MailMessage   mail.From = my@mydomain.com   mail.To = you@youdomain.com   mail.Subject = "テストメールの送信"   mail.Body = "テストメールの本文"   mail.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25   System.Web.Mail.SmtpMail.SmtpServer = "mydomain.com"   System.Web.Mail.SmtpMail.Send(mail) 以下SMTP AUTHのソース   Dim mail As New System.Web.Mail.MailMessage   mail.From = my@mydomain.com   mail.To = you@youdomain.com   mail.Subject = "テストメールの送信"   mail.Body = "テストメールの本文"   mail.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2   mail.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtsperver") = "mydomain.com"   mail.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25   mail.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1   mail.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "UserID"   mail.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Password"   System.Web.Mail.SmtpMail.SmtpServer = "mydomain.com"   System.Web.Mail.SmtpMail.Send(mail)

  • SmtpMailクラスについて

    基本的な事がわかっていない私にご教授下さい。 VB.NETでSmtpMailクラスのSmtpMail.Sendを使って メール送信のプログラムを作りました。 結果的にうまくいったのですがメールサーバーには System.Web.Mail.SmtpMail.SmtpServer = "myserver" と、普段使っているサーバー名を指定しただけです。 ユーザーIDとかパスワードも指定していないのに 何故これで送れるのでしょうか?

  • VBで添付ファイル付きのメールを送信したい

    こんにちは。いつもお世話になっております。 現在、VB6.0でメーラーを起動し、そこへ添付ファイルを付けて送信を行うと言う作業を行っております。 ユーザー側で、実行ボタンを押したときに送信まで行ってしまうか、送信はせず、新規メールの起動だけで終るかを選択できるようになっています。 自分なりに色々と調べて、MAPIを使用したプログラムでの操作はできたのですが、テストメーラーをOutlook ExpressからMicrosoft Outlookに変更したら、送信部分が上手く動作しませんでした。 どのメーラーでも上手く動くように設定したいのですが、何か方法はありませんでしょうか? また、送信時に出てしまう確認メッセージを出さずに自動送信する方法はありますか?MAPIを使用せずに添付ファイル付きのメールを送信する方法でも構いません。 宜しくお願い致します。 MAPISession1.SignOn MAPIMessages1.SessionID = MAPISession1.SessionID MAPIMessages1.Compose MAPIMessages1.RecipType = mapToList 'あて先欄に表示させたい文字 MAPIMessages1.RecipDisplayName = "テストさん" 'あて先のメールアドレス MAPIMessages1.RecipAddress = "SMTP:メールアドレス" MAPIMessages1.MsgSubject = "納品明細" MAPIMessages1.MsgNoteText = "本文内容" & vbCrLf MAPIMessages1.AttachmentPathName = App.Path & "\納品明細.xls" 'チェック有りの場合は自動送信 If chkAuto.Value = 0 Then  'Falseにすると自動送信になります  MAPIMessages1.Send True Else  MAPIMessages1.Send False End If MAPISession1.SignOff

  • postfixでメール送信

    PostFixでメールを送信したときに、 以下のエラーメールが帰ってきます。 This is the Postfix program at host mail.sample.net. I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below. For further assistance, please send mail to <postmaster> If you do so, please include this problem report. You can delete your own text from the attached returned message. The Postfix program <info@********.com>: connect to mail.sample.ne.jp[***.***.***.*** Connection timed out 主要なドメイン(やふーとかほっとめいる)は transportにプロバイダのSMTPサーバに転送するように記述しているので、 送信できるのですが、以上のような独自のドメインにはなぜか送れません。 このようなドメインを1つずつ登録しないと駄目なのでしょうか? それとも他に設定すべき点があるのでしょうか? たとえば、申込フォームを作成したときに、 申込者のメールに送信したい場合、 申込者のメールアドレスは事前には知ることは出来ないので、 送信することはできません。 また、なぜ構築したpostfixからプロバイダのSMTPに転送しないと 送信できないのでしょうか? よろしくお願いします。

  • mb_send_mail関数により送信されるメールのヘッダで送信元メールアドレスがうまく設定されません

    さくらサーバで2つのドメインを持っており、その一方のドメインを用いたサイトを構築しています。 このサイトより、phpのmb_send_maiにより送信されるメールヘッダーに送信元メールアドレス(上記一方のドメインを含む)を設定しようといろいろ試したのですが、 送信されたメールの送信元アドレスとして、 上記一方のドメインではなく、他方のドメイン(初期ドメインではなく、1つ目にとったドメイン)の主要部(メールアドレスであれば、本来@の前に配置される部分)が盛り込まれてしまいます。 mb_send_mai関数の第四引数として、"From:.....@*******"などと設定しても、受信されるメールには全く反映されません。 php.iniやサーバの設定に何か問題があるのか調べたのですが、 自力では無理のようです。 どうか、お知恵をかして下さい。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ASPでのsendmail(BASP21の使用不可)

    ASPでsendmailのような機能の実現をしたいと思っております。 レンタルの共用サーバなのでBASP21の使用が不可能です。 ASP.NETなら以下の様な方法が、FAQで公開されているのですが、ASPでの方法が公開されていない為、分かる方がいらっしゃれば、教えて頂きたいと思います。 【ASP.NET】 ○概要 ・接続情報作成 ・SmtpMailを使用 ===サンプル=== Dim mm As New MailMessage mm.From = "送信元メールアドレス" mm.To = "送信先メールアドレス" mm.Subject = "件名" mm.Body = "本文" SmtpMail.SmtpServer = "SMTPサーバ名" SmtpMail.Send(mm) ============== ○補足 ・System.Web.Mailのインポートが必要 宜しくお願いします。

  • 将来の日時を設定して、メールを送信

    PHP5 Mysql5 で、運用しています。 現在は複数のメールアドレスにそれぞれにメールを出していますが、 送信時間を設定できるように変更しています。 【現在】 $sql =" select * from member order by id" ; $rst = mysql_query($sql, $con); ココはテーブルで一覧で出して、[checkbox]で 選択できるようにしています。 while($rows = mysql_fetch_array($rst)) { ・ ・ <input name=\"mailid[{$i}]\" type=\"checkbox\" value=\"".$rows["id"]."\" checked> ・ ・ mb_send_mail($to, $title, $honbun, "From:$from"); } これを発信時間を設定して送りたく変更をしています。 【フォームから受信】 $mailid= $_POST["mailid"]; //チェックボックスにチェックを入れると送信 $title= $_POST["title"]; $honbun= $_POST["honbun"]; $mon= $_POST["mon"]; $day= $_POST["day"]; $time= $_POST["time"]; メールの送信フォームから上記データを送って、もう一度ココで 送信フォームページと同じように [while] で[mail] を取りだして 送信予定日時、タイトル、本文、送信先メールアドレス をmysql に保存したいのですが、送信先メールアドレスはどのように保存したらいいのでしょうか? 一つのフィールドに sample@sample.com,sample@sample.com,sample@sample.com,sample@sample.com, このように全部入れていいのでしょうか? **最大500件ほどになります その後、cron で php を動かして日時でマッチした列を送信するように しようと思っています。 *このような時にはPHPは使用しないと言うのは読みましたが、PHPしか  理解できそうに無いので、この方法で実現しようと思っています。 宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • vb2005のメール送信について

    定期的にメール送信するプログラムがあります、 05/15 4:00までは正常にメール送信していたのですが、 突然メールが送信されなくなりました。 原因を調査したところ 以下ソースの Client.Send(Message) にてエラーが発生している事がわかり、 エラー内容は 「System.Net.Mail.SmtpException:SMTPサーバーに  セキュリティで保護された接続が必要であるか、  またはクライアントが認証されていません。  サーバーの応答:5.5.1 Authentication Required.Learn More at」です。 デバッグにてユーザーIDとパスワードが入っている事を確認し、 WebのGmailにユーザーIDとパスワードにてログイン可能であることも確認しました、 どなたか解決方法をご教授願えませんか? 以下ソースの一部です。 ******************************************************************** ******************************************************************** '********************************************** 'クライアントサーバーを設定・実体作成 Dim Client As New SmtpClient(MailSmtpClient) 'ポート使用する。 Client.Port = 587 Client.EnableSsl = True Client.Timeout = 100000 'クライアント情報(送信元のユーザーIDとパスワードをセット) Client.Credentials = New Net.NetworkCredential(MailUserID, _ MailPassWord) Try 'メール送信 Client.Send(Message) Catch ex As Exception MsgBox(ex.ToString) End Try ********************************************************************** **********************************************************************

nisa成長投資枠に残り33万円
このQ&Aのポイント
  • nisa成長投資枠に残り33万円という状況について
  • どうすれば良いかを考える必要がある
  • 資金を効果的に活用する方法を探る
回答を見る