• ベストアンサー

c# メールが送信できたか確認

System.Net.Mailを使ってメールを送信するのに、例えば存在しないメールアドレスなどを受け取りにして試したのですが、SmtpFailedRecipientsException ex で例外をキャッチしようとしても(MSDNのサイトにあった例を使用)されませんでした(勘違いでなければですが・・)。プログラム上でメールがちゃんと送信されたか確認するにはどうすればいいでしょうか? VS2005、ウィンドウズアプリケーション、C#

  • qdoba
  • お礼率81% (9/11)

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

  • ベストアンサー
  • rinkun
  • ベストアンサー率44% (706/1571)
回答No.1

ちゃんと送信できてるんじゃない? メール送信は最寄りのSMTPサーバが受け付ければ成功です。 存在しないアドレスであっても最寄りのSMTPサーバはとりあえず受け付けるので正常に送信できます。アドレスが存在しないものならその先でエラーになり後からエラーメールが返ってくるだけでしょう。 例外が起きるのはSMTPサーバ自体がないとか、相手先マシンに直接ポストしてアドレス不在でリジェクトされたとか、そういう場合くらいじゃないかな。

qdoba
質問者

お礼

ではその場でメールがちゃんと受信されるかどうかはわからないのですね。勉強になります。 あとSMTPサーバがダウンしてるときとかは、ではちゃんと例外が起きるんですよね。 質問してよかったです。ありがとうございます!

関連するQ&A

  • メール送信できません

    初めての投稿です。 友人に、写真を添付したメールを送信したいのですが、Mail Delivery System からエラーメールとして返ってきます。指定したあて先は存在しないか、受け取れない状態である可能性があります。というものです。 相手のアドレスは、パソコンのアドレスで、携帯からのメールは届いているみたいなんで、アドレスは存在しています。写真は、20枚程度で、圧縮しても送信に失敗します。 2~3枚ずつ送ると、送信できてもエラーメールで返ってくるみたいです。 550Errorとありますが何に問題があるのか分かりません。

  • メールの送信ができません。

    最近メールの送信ができなくなって非常に困っています。 環境は次の通りです。 OS   :Windows2000 メーラー:OE5.0 受信は問題なくできるのですが、送信しようとするとアプリケーションエラーが発生してしまいます。 以前は何の問題もなく、またソフトを新規にインストールした記憶もありません。 エラーログには次の通りです。 「アプリケーションmsimn.exeがアプリケーションエラーを起こしました。~中略~発生した例外C00000005 アドレス71EB74DD」 非常に困っています。お願いします。

  • C言語でのメール送信

    C言語でメール送信するプログラムを作りたいのですが、良く分かりません。ある条件を満たしたら設定しておいたメールアドレス先にメールを自動送信するようなプログラムを作ろうと思っています。どなたかご教授お願いいたします。(プログラム初心者) OSはLinuxです。 (例) if (i == 100) { メール送信*********** }

  • メール送信エラー処理について

    現在、PHPでメール送信プログラムを作っています。 今困っているのが、存在しないアドレスへメールを送信したときのエラー処理です。 mail()関数の返り値ではmailが送れないか送れたかのエラーしかわからないので、存在しないアドレスに送信した場合でもエラーとなりません。 "そのアドレスは存在しません"というようなエラーはどのように検出したらいいのでしょうか? どなたかご存知の方がいらっしゃいましたら教えていただきたいです。 よろしくお願いします。

    • 締切済み
    • PHP
  • C#のメール送信でエラーが出るのですが・・・・

    こんにちは最近、自分の担当のプログラムを作っているところなんですが、どうしてもエラーがでて直りません。 それがデバッグ中にでるものではなく動作中に起こるので困っています。 作っているプログラムはメールの送信のみを行うプログラムでC#でコーディングしています。 ちなみにエラー内容はメール送信時に「指定された文字列は、電子メールアドレスに必要な形式ではありません。」 一応、アドレス、SMTPサーバのアドレスともに確認しましたが、こちらは問題ありませんでした。 また個人的に検索してみたり人に聞いてみましたが、解決しませんでした。 どなたかご教授お願いします。

  • VB2005でメール送信するには

    http://www.microsoft.com/japan/msdn/vbasic/migration/tips/netmail/ を参考に Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Dim message As New System.Net.Mail.MailMessage("from@yahoo.co.jp", "to@yahoo.co.jp") message.Subject = "件名" message.Body = "本文" Dim client As New System.Net.Mail.SmtpClient("smtp.mail.yahoo.co.jp", "587") client.Send(message) MessageBox.Show("メールを送信しました。", "送信終了") Catch ex As Exception MessageBox.Show(ex.Message, "エラー") End Try End Sub 実行すると SMTPサーバにセキュリティで保護された接続が必要であるか、またはクライアントが認証されていません。サーバの応答:Sorry,please use SMTP-AUTH instead と表示されます。 ユーザ認証の client.Credentials = New System.Net.NetworkCredential("from-userName", "from-Password") を client.Send(message) の前に追加しても同じ結果でした。 どのようにすれば送信できるか教えてください。

  • メール送信失敗アドレスを取得

    一括メール送信プログラムで送信した際、リターンメールで指定アドレスへ返ってくるメールの送信先アドレスをPHPで取得する方法ってありますか? 要は送信できなかったアドレスを一覧で見れるようなシステムを作りたいんです。

    • 締切済み
    • PHP
  • メールの送信について

    現在、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

  • 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って出ています。 どこがいけないのでしょうか? どなたか教えて戴けませんか?お願いいたします。

  • Linux Cからのメール送信

    Linux上Cプログラムでメール送信を行いたいと思って います。 Cからシステムコールでsendmailを実行する方法は わかったのですが、純粋にSMTPサーバーにC言語から アクセスして送信する方法など可能なのでしょうか?

専門家に質問してみよう