我想实现的功能是:
Excel 一键发送邮件,因公司使用的是Foxmail,参考了各位的资料,写了一个例子,不过调用不了foxmail
请专家帮忙解答
Sub SendEmail_Click()
mymail = "mailto: xxxxxxn@xxxx.com.cn?subject= strTitle &body= strTemplate & Attachment="" strAttachment"" "
ShellExecute 0&, vbNullString, mymail, vbNullString, vbNullString, 1
Dim emailListSheet As Worksheet
Dim templateSheet As Worksheet
Dim iLoop As Integer
Set emailListSheet = Sheets("发送邮件")
Dim emailListSheetMaxRow As Integer
Set templateSheet = Sheets("邮件模板")
strTitle = templateSheet.Range("B1")
strTemplate = templateSheet.Range("B3")
strAttachment = templateSheet.Range("B4")
For iLoop = 2 To emailListSheetMaxRow
strEmpNo = emailListSheet.Range("A" & iLoop) '员工号
strEmpName = emailListSheet.Range("B" & iLoop) '姓名
strToEmailAddr = emailListSheet.Range("G" & iLoop) '提醒邮箱
strExpiredDate = emailListSheet.Range("F" & iLoop) '到期日
On Error GoTo SendEmail_Error
Str_mailto = strToEmailAddr
Subject = Str(Replace(strTitle, "##姓名##", strEmpName))
Str body = Str(Replace(strTemplate, "##到期日##", strExpiredDate))
Str Send
End
emailListSheet.Range("H" & iLoop) = "发送成功" & " " & Now()
Next iLoop
Exit Sub
SendEmail_Error:
MsgBox Err.Description
emailListSheet.Range("H" & iLoop) = Err.Description & " " & Now()
End Sub
我试过用vbs发邮件,借鉴于vbs发邮件成功的经历,感觉你的发件人的邮箱,SMTP服务器地址,端口,授权码(或者邮箱密码)这几个要素可能是要的,不知道说得对不对,
vbs发邮件网址:
https://blog.csdn.net/CosmopolitanMe/article/details/80724048
希望对你有帮助
邮箱一般默认是不开启smtp或者POP3服务的,你需要登录邮箱去开启一下
后来我好奇搜了下度娘,你确实少了我上面说的那几个要素,下面是别人用VBA发送邮件成功的例子,你参考一下
https://blog.csdn.net/hpdlzu80100/article/details/80687185