1,486
社区成员
发帖
与我相关
我的任务
分享
Public Sub sendMail(strMailAddress As String, messageContent As String, strTitle As String)
Dim arrMailAddress() As String '存储发件人的数组
Dim i As Long '遍历发件人数组的循环变量
On Error GoTo ErrHandle
'如果邮件地址没有的话,就不发送
If strMailAddress = "" Then
Exit Sub
Else
'支持收件人地址以逗号或者以分号隔开的配置方法
strMailAddress = Replace(strMailAddress, ",", ";")
'支持多收件人地址发送
arrMailAddress = Split(strMailAddress, ";")
End If
messageContent = messageContent & vbCrLf
messageContent = messageContent & vbCrLf & Format(Now, "yyyy-MM-dd")
messageContent = messageContent & vbCrLf & vbCrLf & "------------------------------------------------------------"
messageContent = messageContent & vbCrLf & "本邮件为系统自动发送,请勿回复。"
With frmIMSPIIT.MAPISession1
.LogonUI = False
.SignOn '登录
End With
'支持多收件人地址发送
For i = LBound(arrMailAddress) To UBound(arrMailAddress)
'如果邮件地址不为空则发送
If arrMailAddress(i) <> "" Then
With frmIMSPIIT.MAPIMessages1
.MsgIndex = -1
.SessionID = frmIMSPIIT.MAPISession1.SessionID
.RecipDisplayName = arrMailAddress(i)
.MsgSubject = strTitle
.MsgNoteText = messageContent
.MsgRead
.Send
End With
End If
Next
'退出登录
With frmIMSPIIT.MAPISession1
.SignOff
End With
'程序结束
Exit Sub
ErrHandle:
'退出登录
With frmIMSPIIT.MAPISession1
.SignOff
End With
End Sub