我在Outlook上进行自动化操作,最终用户将收到一封邮件,通过点击将触发自动回复邮件并转到相应人员,他们将成为链接。我到目前为止尝试的代码如下所述。
Sub MailURL()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
strbody = "<HTML><BODY>"
strbody = strbody & "xxx@xxx.com"
strbody = strbody & "</BODY></HTML>"
On Error Resume Next
With OutMail
.to = "abc.domain.com"
.Subject = "Testing URL"
.HTMLBody = strbody
' .Send
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
我知道它被视为垃圾邮件,但这是我们项目的要求,我们将向最终用户发送包含一些数据的邮件,如果用户需要对该数据进行一些更改,那么他可以点击该链接我们收到一封包含所请求更改的邮件,以便我们进行更改并在数据库中进行更新。感谢。
答案 0 :(得分:1)
如果我理解你想要的东西,你需要在身体上添加一个链接,如果点击它,将创建一个带有预定义收件人的新邮件。如果是这样,那么这部分:
"xxx@xxx.com"
应该是:
"<a href=""mailto:xxx@xxx.com"">Relpy here</a>"
您还可以添加以下主题:
"<a href=""mailto:xxx@xxx.com?subject=Change Request"">Relpy here</a>"
添加超链接的HTML语法正在使用<a href="yourlink">your_linked_text</a>
。
在您的情况下,您需要在链接的电子邮件地址前添加mailto:
以创建新邮件。
注意:这不会自动发送回复(因为您已经说过可以被视为垃圾邮件,所以我们不要这样做。)
答案 1 :(得分:0)
这是您的代码修订
一旦我将abc.domain.com改为abc@domain.com,它对我有用(outlook2016)
&#34; OutMail.Send&#34;声明将消息放入发件箱
&#34; OutMail.Display(True)&#34;声明提出了&#34;新电子邮件&#34;所有其他窗口顶部的窗口,以便用户可以验证信息并单击&#34;发送&#34;
Sub MailURL()
Dim strbody As String
strbody = "<HTML><BODY>"
strbody = strbody & "xxx@xxx.com"
strbody = strbody & "</BODY></HTML>"
Dim OutMail As Outlook.MailItem ' define the actual object ... then "help info" pops up on screen as you type
Set OutMail = Application.CreateItem(olMailItem) ' "Application" object already exists
With OutMail
.To = "abc@domain.com"
.Subject = "Testing URL"
.HTMLBody = strbody
' you can use only one of the following two lines
' .Send ' this puts the email message into the outbox
.Display (True) ' this show the email on top of everything else. just have the user click "send"
End With
Set OutMail = Nothing
End Sub