Vb.net写的发信类
最近因为项目写了个发Mail的类。给大家借鉴一下。
代码:
代码:
1 Imports System.Web.Mail
2
3 Public Class TexSendMail
4
5
6 Public Shared Sub SendMail(ByVal strkey As String, ByVal htConfig As Hashtable)
7
8 Dim strMailTo As String
9 Dim strMailFrom As String
10 Dim strMailSubject As String
11 Dim strMailText As String
12 Dim strLogPath As String
13 Dim strLogName As String
14 Dim strLogKey As String
15 Dim strBatchName As String
16 Dim mailObj As New MailMessage
17 Dim getKey As String
18 Try
19
20 '送信先E-mailアドレス
21 If htConfig.ContainsKey("Mail_To") Then
22 strMailTo = htConfig("Mail_To")
23 End If
24 '送信用E-mailアドレス
25 If htConfig.ContainsKey("Mail_From") Then
26 strMailFrom = htConfig("Mail_From")
27 End If
28 'E-mail件名
29 If htConfig.ContainsKey("Mail_Subject") Then
30 strMailSubject = htConfig("Mail_Subject")
31 End If
32 'E-mail本文
33 If htConfig.ContainsKey("Mail_Text") Then
34 strMailText = htConfig("Mail_Text")
35 End If
36 '処理内容②:取得したE-mail情報を利用して、送信を行う。
37 '送信用E-mailアドレス
38 mailObj.From = strMailFrom 'htConfigより取得した「送信用E-mailアドレス」
39 '送信先E-mailアドレス
40 mailObj.To = strMailTo 'htConfigより取得した「送信先E-mailアドレス」
41 'E-mail件名
42 'htConfigより取得した「バッチの日本語名」+ 半角スペース+ HashTableより取得した「E-mail件名」
43 mailObj.Subject = strBatchName & " " & strMailSubject
44 'E-mail本文
45 'htConfigより取得した「E-mail本文」+ VB改行+
46 'htConfigより取得した「ログファイルを格納するフォルダ名」+
47 'htConfigより取得した「ログファイル名」
48 mailObj.Body = strMailText & vbCrLf & htConfig("Log_Path") & strLogName
49 'メールを送付する
50 SmtpMail.SmtpServer = htConfig("Mail_Server")
51 SmtpMail.Send(mailObj)
52 Catch ex As Exception
53 'エラーがあった場合、エラーを呼び出し元にThrow
54 Throw ex
55 End Try
56 End Sub
57 End Class
2
3 Public Class TexSendMail
4
5
6 Public Shared Sub SendMail(ByVal strkey As String, ByVal htConfig As Hashtable)
7
8 Dim strMailTo As String
9 Dim strMailFrom As String
10 Dim strMailSubject As String
11 Dim strMailText As String
12 Dim strLogPath As String
13 Dim strLogName As String
14 Dim strLogKey As String
15 Dim strBatchName As String
16 Dim mailObj As New MailMessage
17 Dim getKey As String
18 Try
19
20 '送信先E-mailアドレス
21 If htConfig.ContainsKey("Mail_To") Then
22 strMailTo = htConfig("Mail_To")
23 End If
24 '送信用E-mailアドレス
25 If htConfig.ContainsKey("Mail_From") Then
26 strMailFrom = htConfig("Mail_From")
27 End If
28 'E-mail件名
29 If htConfig.ContainsKey("Mail_Subject") Then
30 strMailSubject = htConfig("Mail_Subject")
31 End If
32 'E-mail本文
33 If htConfig.ContainsKey("Mail_Text") Then
34 strMailText = htConfig("Mail_Text")
35 End If
36 '処理内容②:取得したE-mail情報を利用して、送信を行う。
37 '送信用E-mailアドレス
38 mailObj.From = strMailFrom 'htConfigより取得した「送信用E-mailアドレス」
39 '送信先E-mailアドレス
40 mailObj.To = strMailTo 'htConfigより取得した「送信先E-mailアドレス」
41 'E-mail件名
42 'htConfigより取得した「バッチの日本語名」+ 半角スペース+ HashTableより取得した「E-mail件名」
43 mailObj.Subject = strBatchName & " " & strMailSubject
44 'E-mail本文
45 'htConfigより取得した「E-mail本文」+ VB改行+
46 'htConfigより取得した「ログファイルを格納するフォルダ名」+
47 'htConfigより取得した「ログファイル名」
48 mailObj.Body = strMailText & vbCrLf & htConfig("Log_Path") & strLogName
49 'メールを送付する
50 SmtpMail.SmtpServer = htConfig("Mail_Server")
51 SmtpMail.Send(mailObj)
52 Catch ex As Exception
53 'エラーがあった場合、エラーを呼び出し元にThrow
54 Throw ex
55 End Try
56 End Sub
57 End Class