VB.NET メール送信例

2011/08/31 13:34Update
TAGS: VB.NET | メール送信 | SMTP | MailMessage | SmtpClient

VB.NET でEメールの送信例

Dim msg As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage()

Dim mailAddrFrom As String = "from@yourdomain.com"
Dim  mailAddrReplyTo As String = "replyto@yourdomain.com"
Dim mailAddrTo As String = "to@yourdomain.com"
Dim mailAddrCc As String = "cc@yourdomain.com"
Dim mailAddrBcc As String = "bcc@yourdomain.com"
Dim strSubject As String = "メールタイトル"
Dim strBody As String = "メール中身" + vbCrLf + "メールの内容"
Dim attachFilePath As String = "c:\\my.gif"

'From
msg.From = New System.Net.Mail.MailAddress(mailAddrFrom)
'ReplyTo
msg.ReplyTo = New System.Net.Mail.MailAddress(mailAddrReplyTo)
'Sender
msg.Sender = New System.Net.Mail.MailAddress(mailAddrFrom)
'宛先
msg.To.Add(New System.Net.Mail.MailAddress(mailAddrTo))
'CC
msg.CC.Add(New System.Net.Mail.MailAddress(mailAddrCc))
'BCC
msg.Bcc.Add(New System.Net.Mail.MailAddress(mailAddrBcc))

'添付ファイル
Dim attach As New System.Net.Mail.Attachment(attachFilePath)
msg.Attachments.Add(attach)


'優先順位を「重要」にする
msg.Priority = System.Net.Mail.MailPriority.High


'メールのサブジェクトと本文の文字化け対応
Dim enc As Encoding = System.Text.Encoding.GetEncoding("ISO-2022-JP")    '文字コード
Dim subjectBase64 As String = System.Convert.ToBase64String(enc.GetBytes(strSubject), Base64FormattingOptions.None)
msg.Subject = String.Format("=?{0}?B?{1}?=", enc.HeaderName, subjectBase64)

'本文
Dim mailView As System.Net.Mail.AlternateView = 
    System.Net.Mail.AlternateView.CreateAlternateViewFromString(_
        strBody, _
        enc, _
        System.Net.Mime.MediaTypeNames.Text.Plain)
mailView.TransferEncoding = System.Net.Mime.TransferEncoding.SevenBit
msg.AlternateViews.Add(mailView)


'メールの遅配、失敗したときの通知
msg.DeliveryNotificationOptions = _
    System.Net.Mail.DeliveryNotificationOptions.Delay Or _
    System.Net.Mail.DeliveryNotificationOptions.OnFailure

Dim sc As New System.Net.Mail.SmtpClient()

sc.Host = "smtpサーバ"
sc.Port = 25
sc.Credentials = New System.Net.NetworkCredential("ユーザID", "パスワード")

'web.config設定例
'<configuration>
'    <system.net>
'        <mailSettings>
'            <smtp>
'                <network host="SMTPサーバ" port="25" userName="ユーザID" password="パスワード" />
'            </smtp>
'        </mailSettings>
'    </system.net>
'</configuration>

sc.EnableSsl = False    'or True
sc.Timeout = 30000         '30秒

'メール送信
sc.Send(msg)



参考資料


MailMessage クラス(System.Net.Mail.MailMessage)
SmtpClient クラス(System.Net.Mail.SmtpClient)

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation