1

我有这个问题:

我正在尝试从命令行发送电子邮件,但如果我这样做:

邮寄地址:example@rat.it?subject=subject&body=body

cmd返回我:“body” nonè riconosciuto come comando interno oesterno, un programma eseguibile o un file batch。

我只写了一封带有主题而没有正文的电子邮件,如何添加正文?

请帮我

4

2 回答 2

6

差不多好了...

这有效:

  start mailto:"example@rat.it?subject=subject&body=body"

编辑:但它在地址的开头添加了一个额外"的...(您可以通过在它前面插入一个空格来避免"在正文末尾的额外)

EDIT2:但这有效:

start "" "mailto:example@rat.it?subject=subject&body=body "
于 2013-11-04T16:31:39.063 回答
0

Interlink 邮件客户端执行此操作。https://binaryoutcast.com/projects/interlink

  • 描述互连:
    • 像经典的 Thunderbird 一样工作,但更好
    • 在目前的发展下
    • 长期存在的结核病错误已得到修复
    • 不是克隆,也不是最近的分叉

来自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
于 2020-09-02T22:54:22.943 回答