DOBON.NET DOBON.NETプログラミング掲示板過去ログ

メールの送信について

環境/言語:[WINDOWSXP,VB2008]
分類:[.NET]

メールの送信についてTipsをみながら設定したのですが上手くいきません。
どこが悪いのか教えていただきたいです。

コードは

Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click

mail()

End Sub

Private Sub()

Dim fromMail As String = "送信者アドレス"
Dim tomail As String = "受信者アドレス"
Dim subject As String = "タイトル"
Dim body As String = "本文"
Dim sc As New System.Net.Mail.SmtpClient()
sc.Host = "ホスト名"
sc.Send(fromMail, tomail, subject, body)
End Sub


なお、自分がデバックしているときは送信者アドレスと受信者アドレスは一緒にしています。また、ホスト名はlocalhost、自分のメールのサーバーを入れてもダメでした。
「上手くいきません」だけでは何が原因なのか全く分かりません。エラーが出るならその内容を(機密・個人情報だけ伏せて)そのまま書いてみてください。

よくあるのとしては、メールサーバが POP before SMTP を要求してるとか。
エラーは出ないのですが、どうやらメール自体が送られてこないようなのです。
ステップインを使ってみるとmail()を使って入るようなのですが。

訂正です、記入ミスがありました。
誤)Private Sub()
正)Private Sub mail()
■No24839に返信(悩み中の人さんの記事)
> エラーは出ないのですが、どうやらメール自体が送られてこないようなのです。
> ステップインを使ってみるとmail()を使って入るようなのですが。

  メールサーバーの種類によっては、認証方式やテキストの
  エンコーディングがまちまちで、簡単1発で送信・・・と
  はならないことが多いです。

  実際のメール送信では、Outbound Port 25 Blocking にて、
  サブミッションポート(port 587)を使用するよう設定変
  更が必要です。
  サブミッションポートもプロパイダによって違う場合があ
  ります。

  また・・・
  http://dobon.net/vb/dotnet/internet/smtpclient.html
  ここの最後の方に、『メールがすぐに送信されない』と言
  う現象の対策もあります。

  ご一読の上、設定変更してみて下さい。

以上。
>   実際のメール送信では、Outbound Port 25 Blocking にて、
>   サブミッションポート(port 587)を使用するよう設定変
>   更が必要です。
>   サブミッションポートもプロパイダによって違う場合があ
>   ります。

  ポート番号を設定して送信する場合は・・・
  http://dobon.net/vb/dotnet/internet/smtpport.html

以上。参考まで
解決いたしました、どうやら肝心のホスト名の文字を間違っていたみたいで…(恥

しかし、メール一つ送るのにも色々あるのですね、勉強になりました。
ありがとうございます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板