00001 ' Attribute VB_Name = "Mail"
00002 '-------------------------------------------------
00003 '! @brief メール送信機能
00004 '! @require common.vbs Configuration.cls,Logger.cls,MailMessage.cls
00005 '-------------------------------------------------
00006 Class Mail
00007 '-------------------------------------------------
00008 '* メッセージを送信する
00009 '-------------------------------------------------
00010 Public Sub Send(messageArray)
00011 Err.Clear
00012 on error goto 0
00013 on error resume next
00014
00015 Logger.Info "Mail.Send create basp " & ScriptProperties.Item("BASP21.ClassName")
00016 Dim basp21
00017 Set basp21 = CreateObject(ScriptProperties.Item("BASP21.ClassName"))
00018 If Err.Number <> 0 Then
00019 Logger.Error "Mail.Send Error " & Err.Description
00020 Exit Sub
00021 End If
00022
00023
00024 dim server
00025 dim smtpUser
00026 dim smtpPass
00027 server = ScriptProperties.Item("SMTP.Server")
00028 If Err.Number <> 0 Then
00029 Logger.Error "Mail.Send Error" & Err.Description
00030 Exit Sub
00031 End If
00032
00033 smtpUser = ScriptProperties.Item("SMTP.Auth.User")
00034 If Err.Number <> 0 Then
00035 Logger.Error "Mail.Send Error" & Err.Description
00036 Exit Sub
00037 End If
00038 smtpPass = ScriptProperties.Item("SMTP.Auth.Password")
00039 If Err.Number <> 0 Then
00040 Logger.Error "Mail.Send Error" & Err.Description
00041 Exit Sub
00042 End If
00043
00044 dim fromAddress
00045 dim toAddress
00046 Dim message
00047 Dim ub
00048 Dim lb
00049 Dim i
00050 ub = UBound(messageArray)
00051 lb = UBound(messageArray)
00052 For i = lb to ub
00053 Set message = messageArray(i)
00054 Logger.Debug "Mail.Send From:" & message.AddressListFrom(0)
00055 Logger.Debug "Mail.Send To:" & message.AddressListTo(0)
00056 Logger.Debug "Mail.Send Subject:" & message.Subject
00057 Logger.Debug "Mail.Send " & message.Body
00058
00059 fromAddress = message.AddressListFrom(0)
00060 If Err.Number <> 0 Then
00061 logger.putError "Mail.Send Error" & Err.Description
00062 Exit Sub
00063 End If
00064 toAddress = message.buildToAddress
00065 If Err.Number <> 0 Then
00066 Logger.Error "Mail.Send Error" & Err.Description
00067 Exit Sub
00068 End If
00069
00070
00071 if(smtpUser <> "") Then
00072 fromAddress = fromAddress & vbTab & smtpUser & ":" & smtpPass
00073 End If
00074
00075 SendCore basp21,server,toAddress,fromAddress,message.Subject,message.Body,message.buildAttachmentFiles
00076 Next
00077
00078 Set basp21 = Nothing
00079 End Sub
00080 '-------------------------------------------------
00081 '* メッセージを送信する本体
00082 '* @remarks basp21のバージョン(フリーバージョン、proバージョン)の振り分け
00083 '-------------------------------------------------
00084 Sub SendCore(basp21,server,toAddress,fromAddress,subj,msgBody,files)
00085 Dim rc
00086 If ScriptProperties.Item("BASP21.ClassName") = "basp21" Then
00087 rc = basp21.SendMail(server,toAddress,fromAddress,subj,msgBody,files)
00088 If Err.Number <> 0 Then
00089 Logger.Error "Mail.SendCore" & Err.Description
00090 Exit Sub
00091 End If
00092
00093 If rc <> "" Then
00094 Logger.Error "Mail.SendCore Error " & rc
00095 End If
00096 If Err.Number <> 0 Then
00097 Logger.Error "Mail.Send Error " & Err.Description
00098 Exit Sub
00099 End If
00100 Else
00101 basp21.MailFrom = fromAddress
00102 basp21.Server = server
00103
00104 rc = basp21.SendMail(toAddress,subj,msgBody,files)
00105 Logger.Info "BASP21 SendMail rc=" & rc
00106
00107 If rc <> 0 And rc <> 1 Then 'きゅーに入る・サーバーに送信される、は何もしない・
00108 Logger.Error "can't send mail rc=" & rc
00109 End If
00110 End If
00111 End Sub
00112 Public Sub Class_Initialize()
00113 End Sub
00114 End Class