2015-08-24 31 views
0

我正尝试使用win32com在Outlook电子邮件正文中发送超链接到共享目录。我不确定当程序运行时,我的路径发生了什么,使目录显示为如下所示。Python win32com Outlook HTMLbody格式化目录不正确

import win32com.client as win32 
outlook = win32.Dispatch('outlook.application') 
mail = outlook.CreateItem(0) 
mail.To = 'EMAIL ADDRESSES' 
mail.Subject = 'Subject' 
mail.HTMLbody = ("Hello All -<br><br>" 
     "Please find the following files in the shared drive:<br>" 
     "<a href='\\servername1\apps\folder'>" 
     "\\servername1\apps\folder</a><br><br>" 
     "The file names are:<br>" 
     "FILENAMES") 
mail.send 

文件路径在电子邮件的出现: \ servername1pps \文件夹

回答

0

家伙在我的工作能够回答这个问题。

import win32com.client as win32 
outlook = win32.Dispatch('outlook.application') 
mail = outlook.CreateItem(0) 
mail.To = 'EMAIL ADDRESSES' 
mail.Subject = 'Subject' 
mail.HTMLbody = (r"""Hello All -<br><br> 
    Please find the following files in the shared drive:<br> 
    <a href='\\servername1\apps\folder'> 
    \\servername1\apps\folder</a><br><br> 
    The file names are:<br> 
    FILENAMES""") 
mail.send 

我们添加了“r”后跟三重报价,它的工作。

不知道r的意思,但它的工作。也许有人可以解释什么是对我来说。可能是一个愚蠢的问题,但我真的不知道。

0

要回答第二个问题,“字符串前的r是什么意思”,它表示一个原始字符串。为了从另一个计算器页面引用:

“的R表示该字符串将被视为一个原始字符串,这意味着所有的转义码将被忽略”

所以,如果你比如有一个文件路径文件夹名称在单词之间有空格时,您必须使用r前缀。例如:R “C:\用户file.txt的之间\ \ A010101 \桌面\空间”

请参阅有关将R前缀的问题页: What does preceding a string literal with "r" mean?