@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

メール送信エラー

1
投稿者投稿内容
hari
会議室デビュー日: 2007/04/09
投稿数: 2
投稿日時: 2007-04-09 10:12
お世話になります。

SMTP認証でメールを以下の内容で送信するしようとするのですが、エラーで送信できない現象が
発生しております。

Imports System.Net
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 Message As New MailMessage("**********", "**************", "subject", "body")
Dim Client As New SmtpClient("**********")
Client.Credentials = New NetworkCredential("***", "***")
Client.Timeout = 100000
Client.Send(Message)
End Sub
End Class

(メールアドレス、メールサーバ、ID、パスワードは*にしてあります。)
環境はWindows Vista Business、VB2005 Professional(.NET Framework2.0)です。
どのような原因が考えられるでしょうか?
よろしくお願いします。

■以下エラー内容--------------------------------------------------------

Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。

************** 例外テキスト **************
System.Net.Mail.SmtpException: メールを送信できませんでした。 ---> System.FormatException: メール ヘッダーに無効な文字が見つかりました。
場所 System.Net.BufferBuilder.Append(String value, Int32 offset, Int32 count)
場所 System.Net.Mail.EHelloCommand.PrepareCommand(SmtpConnection conn, String domain)
場所 System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)
場所 System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port)
場所 System.Net.Mail.SmtpClient.GetConnection()
場所 System.Net.Mail.SmtpClient.Send(MailMessage message)
--- 内部例外スタック トレースの終わり ---
場所 System.Net.Mail.SmtpClient.Send(MailMessage message)
場所 MailSendTest1.Form1.Button1_Click(Object sender, EventArgs e) 場所 C:\Users\グローバル情報システム\AppData\Local\Temporary Projects\MailSendTest1\Form1.vb:行 11
場所 System.Windows.Forms.Control.OnClick(EventArgs e)
場所 System.Windows.Forms.Button.OnClick(EventArgs e)
場所 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
場所 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.ButtonBase.WndProc(Message& m)
場所 System.Windows.Forms.Button.WndProc(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

未記入
大ベテラン
会議室デビュー日: 2006/12/15
投稿数: 157
投稿日時: 2007-04-09 13:34
エラー箇所はまんま表示されているような気がしますが・・・
ヘッダの中身はど〜なってるんでしょうか?

とりあえずこの辺とかこの辺でエラーの詳細を調べて見ては如何?

ちなみにこのプログラムは動作実績あります?
hari
会議室デビュー日: 2007/04/09
投稿数: 2
投稿日時: 2007-04-09 16:00
実際にメールが送れていないので、ヘッダの中身はわからない状態です。
同じプログラムで(場所は違いますが)、WindowsXP Home、VB2005Express、.NetFrameWork2.0の環境では
送信できました。
また、SmtpClient.Sendのところを下のような形でエラーをとってみました。

Try
Client.Send("***", "***", "subject", "body")
Catch ex As SmtpException
MsgBox(ex.StatusCode)
End Try

「-1」が返ってきたので調べてみると、
「GeneralFailure:トランザクションを発行できませんでした。指定したSMTPホストが見つからない場合にこのエラーが発生します。」とありました。
同じSMTPでOUTLOOKでは送信できるため、SMTPサーバーが間違っているということはないと思います。
OSの違いが原因になっている気がするのですが、VISTAでもSmtpClientで問題なくメール送信できるのでしょうか?
未記入
大ベテラン
会議室デビュー日: 2006/12/15
投稿数: 157
投稿日時: 2007-04-09 17:42
Vistaのsmtpデフォルト設定のこの辺とかの絡みなのかなぁ。

正直Vistaのことは∩(・ω・)∩<オテアゲー状態です。
(フォーラム行きにしたほうがいいのかも?)
1

スキルアップ/キャリアアップ(JOB@IT)