在Excel VBA中,无法直接使用共享邮箱发送电子邮件。共享邮箱是一种特殊类型的邮箱,多个用户可以共享访问该邮箱的邮件内容和功能。然而,Excel VBA的内置邮件功能只支持使用当前登录用户的个人邮箱发送邮件。
要解决这个问题,可以考虑以下两种方法:
Sub SendEmailFromSharedMailbox()
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.SentOnBehalfOfName = "sharedmailbox@example.com" ' 共享邮箱的地址
.To = "recipient@example.com" ' 收件人的地址
.Subject = "邮件主题"
.Body = "邮件内容"
.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
Sub SendEmailUsingCDO()
Dim CDOConfig As Object
Dim CDOMessage As Object
Set CDOConfig = CreateObject("CDO.Configuration")
Set CDOMessage = CreateObject("CDO.Message")
With CDOConfig.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 ' 使用SMTP发送
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.example.com" ' SMTP服务器地址
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 ' SMTP服务器端口
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 ' 需要身份验证
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username" ' 发件人用户名
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" ' 发件人密码
.Update
End With
With CDOMessage
Set .Configuration = CDOConfig
.From = "sharedmailbox@example.com" ' 共享邮箱的地址
.To = "recipient@example.com" ' 收件人的地址
.Subject = "邮件主题"
.TextBody = "邮件内容"
.Send
End With
Set CDOMessage = Nothing
Set CDOConfig = Nothing
End Sub
以上两种方法都可以实现在Excel VBA中发送电子邮件,具体选择哪种方法取决于你的需求和环境。
领取专属 10元无门槛券
手把手带您无忧上云