VB.NET 2003 で作成したメール送信のプログラムを、VB2005 の MailMessage を
使ってのメール送信に書き換えているのですが、認証の仕方が解りません。
VB.NET 2003 の System.Web.Mail.MailMessage では下記のように認証設定を
しておりました。
Dim EMail As New System.Web.Mail.MailMessage
Dim mailUrl As String = "http://schemas.microsoft.com/cdo/configuration/"
EMail.Fields.Item(mailUrl & "smtpauthenticate") = 1 ' 1 (Basic 認証)
EMail.Fields.Item(mailUrl & "sendusername") = "ユーザ名=アカウント名"
EMail.Fields.Item(mailUrl & "sendpassword") = "メールパスワード"
VB2005 の System.Net.Mail.MailMessage() では、下記のように設定してみたのですが、
認証されません。(ローカルでは、送信できるのですが、外部には送信できません)
smtp.Credentials = New System.Net.NetworkCredential("ユーザ名=アカウント名", "メールパスワード")
System.Net.Mail.MailMessage() での Basic 認証 の方法を教えて頂けたらと投稿しました。
どうぞよろしくお願い致します。
こんな感じでどうでしょうか?
Imports System.Net
Imports System.Net.Mail
Module Program
Sub Main()
Dim Message As New MailMessage("from", "to", "subject", "body")
Dim Client As New SmtpClient("smtp server name")
Client.Credentials = New NetworkCredential("user name", "password")
'Client.EnableSsl = True 'SSL認証のときは、コメントアウト
Client.Timeout = 100000 'これが無いと失敗する!!
Client.Send(Message)
End Sub
End Module
ツイート | ![]() |