我有这个问题:
我正在尝试从命令行发送电子邮件,但如果我这样做:
邮寄地址:example@rat.it?subject=subject&body=body
cmd返回我:“body” nonè riconosciuto come comando interno oesterno, un programma eseguibile o un file batch。
我只写了一封带有主题而没有正文的电子邮件,如何添加正文?
请帮我
差不多好了...
这有效:
start mailto:"example@rat.it?subject=subject&body=body"
编辑:但它在地址的开头添加了一个额外"
的...(您可以通过在它前面插入一个空格来避免"
在正文末尾的额外)
EDIT2:但这有效:
start "" "mailto:example@rat.it?subject=subject&body=body "
Interlink 邮件客户端执行此操作。https://binaryoutcast.com/projects/interlink
来自http://kb.mozillazine.org/Command_line_arguments_%28Thunderbird%29的文档并在 Windows 上进行测试:
d:\Path\Interlink.EXE -compose ^
"from='From Name ^<FromBox@FromDomain.com^>'^
,to='To Name One ^<ToBoxOne@ToDomainOne.com^>, To Name Two ^<ToBoxTwo@ToDomainTwo.com^>'^
,cc='CC Name One ^<CCBoxOne@CCDomainOne.com^>, CC Name Two ^<CCBoxTwo@CCDomainTwo.com^>'^
,bcc='BC Name One ^<BCBoxOne@BCDomainOne.com^>, BC Name Two ^<BCBoxTwo@BCDomainTwo.com^>'^
,subject='Your Subject Here'^
,message='d:\Path\Body File.htm',^
,attachment='^
d:\Path\Attach One.PDF,^
d:\Path\Attach Two.PDF^
'"
续行是为了可读性和 bat/cmd 文件,但也可以正常工作。尖括号不需要在 Set 语句的单引号内转义。
BUG:发件人地址必须存在于身份中,否则生成的撰写窗口将为空。这个 bug 是在 2020 年 7 月左右在队列中提交的。当在 Identity 中找到 from-address 时,从 Identity 中复制 From-Name,而忽略命令行上的 From-Name。
句法:
-compose 的整个参数列表用双引号括起来。在参数列表中,参数用逗号分隔;逗号不能以空格开头,也不能跟在空格后面。当参数列表仅包含一个参数并且该参数包含零个空格或尖括号时,将其括在双引号中是可选的。
在参数中,值列表用单引号括起来。在值列表中,值用逗号分隔;逗号可以是后跟空格。当值列表仅包含一个值,并且该值包含零个空格或尖括号时,将其括在单引号中是可选的。
一些参数将接受值列表中的所有值:to=、cc=、bcc=、attachment=
有些参数只接受值列表中的第一个值:from=, subject=, body=, message=; 以下值被忽略。
如果同时指定了 message= 和 body=,则忽略 body=。
Thunderbird 可能是兼容的。
将注册表中的可执行路径名获取到环境变量中:
For /F "Tokens=3" %%A In ('Reg Query HKEY_CLASSES_ROOT\mailto\shell\open\command') Do Set MailerEXE=%%A