想要在单击Outlook邮件中的链接后触发自动回复

时间:2017-06-22 10:08:23

标签: vba outlook outlook-vba

我在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   

我知道它被视为垃圾邮件,但这是我们项目的要求,我们将向最终用户发送包含一些数据的邮件,如果用户需要对该数据进行一些更改,那么他可以点击该链接我们收到一封包含所请求更改的邮件,以便我们进行更改并在数据库中进行更新。感谢。

2 个答案:

答案 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