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