我正在创建一个自动发送电子邮件的工具。
我已经开始使用非常简单的代码构建它,如下所示:
Set outlookobj = New Outlook.Application
Set mitem = outlookobj.CreateItem(olMailItem)
With mitem
.To = "A_Valid_Email@email.com"
.Subject = "TEST"
.Body = "test"
.Display
.Send
End With
End Sub
然而,我工作的公司似乎已经锁定了。电子邮件将创建正常但不会发送。谁能想到解决这个问题的方法呢?我考虑过使用.sendkeys" ^ {ENTER}"但我知道他们不是一个很好的做事方式。
提前谢谢你 马特
答案 0 :(得分:0)
如果您没有使用Outlook,则可以使用CDO发送电子邮件。我不确定这是否会解决您的安全问题,但可能值得一试。这是一个例子。
Sub CDO_Mail_Small_Text(ByVal RecipientList As String, ByVal From As String, _
ByVal Subject As String, ByVal Body As String, ByVal Attachment As String, _
ByVal cc As String)
Dim iMsg As Message
Dim iConf As Configuration
Dim strbody As String
Dim Flds As Variant
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") _
= "webmail.zimmer.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With
With iMsg
Set .Configuration = iConf
.To = RecipientList
.cc = cc
.From = From
.Subject = Subject
.HTMLBody = Body
End With
If Attachment <> "" Then
iMsg.AddAttachment Attachment
End If
iMsg.Send
End Sub
顺便说一句,这还有一个额外的好处,就是让你欺骗发件人,让它看起来好像是来自别人。我不知道这是否方便,但仅仅是FYI。
答案 1 :(得分:0)
我指的是这个帖子:Excel VBA sending mail using Outlook - Send method fails解决方案如下:
&#34;更改。发送到.Display并将SendKeys&#34; ^ {ENTER}&#34;在使用mitem line之前。&#34;
你至少可以尝试一下,也许它也适合你。 :)