我正在尝试通过R-Code从我的Outlook发送电子邮件。它在大多数情况下运作良好。我正在使用RDCOMClient来做我需要的事情。
唯一的问题是签名;我尝试了这个链接中给出的说明:
How to add my Outlook email signature to the COM object using RDCOMClient
但是,我的签名会被这行中的电子邮件正文覆盖:
outMail[["HTMLBody"]] = paste0('<p>some body', signature, '</p>')
答案 0 :(得分:2)
如果此代码解决了您要查找的内容,请告诉我。您需要使用paste
命令将正文粘贴到签名。见下文。
library(RDCOMClient)
# This is the original body you have created
original_body <- "This body has been created to just for visualization"
# Adding signature which can be modified as required
# The <br> is html tag for line break. Anything typed after this will move to next line
Your_Signature <- paste0("Thanks & Regards,<br>", "YourName")
# Creating new body which will be used in email
new_body <- paste("<p>",original_body, "</p>", Your_Signature)
# init com api
OutApp <- COMCreate("Outlook.Application")
# create an email
outMail = OutApp$CreateItem(0)
# configure email parameter
outMail[["To"]] = "test@test.com"
outMail[["subject"]] = "TEST"
outMail[["HTMLbody"]] = new_body
# send it
outMail$Send()
您将收到一封包含输出的电子邮件,如下所示。
解决方案2:
由于您尚未提供已使用的代码,因此我使用了自己的代码并修复了使用GetInspector
时出现的签名问题。如果这有帮助,请告诉我。
library(RDCOMClient)
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
# Get signature from outlook
# GetInspector renders the message in html format.
# Note that if you have not created any signatures, this will return blank
outMail$GetInspector()
Signature <- outMail[["HTMLbody"]]
# Define the body of you email separately
body <- "Define your body here."
outMail[["To"]] = "test@test.com"
outMail[["subject"]] = "TEST EMAIL"
# Paste the body and signatures into the email body
outMail[["HTMLbody"]] = paste0("<p>", body, "</p>", Signature)
outMail$Send()