通过.bat文件发送电子邮件文件链接,完整链接未显示电子邮件正文

时间:2011-01-25 13:49:01

标签: email file batch-file

我正在尝试编写将在SendTo菜单中的批处理文件,当您向其发送文件时,会生成一封电子邮件,其中包含电子邮件主体中超链接的文件。

但是,输出只是电子邮件正文中的部分内容,我相信直到文件路径中的第一个空格:

<D:\Documents

以下是生成上述结果的代码。

:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::  Batchfile : EmailLink.bat
::  Author    : DarkSprout
::  Purpose   : Email File Link via Outlook using Richt-Click 'Send To' menu 
::  NOTE      : Save File in %USERPROFILE%\SendTo
:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[Jan11]~~

@ECHO OFF
SET _attachmentLink=%~f1
:: ECHO %_attachmentLink%
START MAILTO:?body=^<%_attachmentLink%^>

我保证我已经在Stack Overflow中查看了可能的解决方案。

提前致谢。

3 个答案:

答案 0 :(得分:1)

如果参数可能包含空格,则需要在参数周围引用。并且您需要一组空引号来满足start

start "" "mailto:?body=<%_attachmentLink%>"

答案 1 :(得分:0)

您可以在参数

周围使用引号
@ECHO OFF
SET _attachmentLink=%~f1
:: ECHO %_attachmentLink%
START MAILTO:?body="<%_attachmentLink%>"

不知道如何将它作为超链接。 (或任何HTML)

答案 2 :(得分:0)

你不能“超链接”附件,因为邮件代理会在对邮件进行MIME编码时破坏文件名,并且无法事先知道受损的文件名是什么(通常是一些随机字符串)。 / p>