【问题标题】:how can I add body to the mailto link from console Win?如何从控制台 Win 将正文添加到 mailto 链接?
【发布时间】:2013-11-15 06:58:16
【问题描述】:

我有这个问题:

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

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

cmd 返回我:“body” non è riconosciuto come comando interno oesterno, un programma eseguibile o un 文件批处理。

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

请帮帮我

【问题讨论】:

  • 这是 linux,还是什么是“mailto:”(在 Win 中不起作用)?
  • 我需要在 Win 上工作!这可能吗?
  • 好吧,根据support.microsoft.com/kb/287573,你所拥有的是正确的,但是对我来说 mailto: 甚至什么都没做,所以我无法尝试,抱歉。
  • @JimW 试试start mailto:example...... 你会得到关于“body”的错误信息。你是对的 - 根据微软的文章,它应该可以工作。

标签: email cmd mailto


【解决方案1】:

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:发件人地址必须存在于身份中,否则生成的撰写窗口将为空。此错误已在 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

【讨论】:

    【解决方案2】:

    差不多了……

    这行得通:

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

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

    编辑2: 但这有效:

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

    【讨论】:

    • 如何将文件附加到邮件中?如果我尝试添加 &attachment="file.txt" ...这不起作用!
    • 根据 Wim W 提到的 microsoft-article,附件不是一个选项。
    • 所以...无法附加文件?
    • google 发现:“没有使用“mailto”协议附加文件的官方方法。很可能是出于安全原因。但是,一些电子邮件客户端确实接受带有引号的文件的附件参数,即附件="C:\fileName.txt" 如outlook 98。" - 您可以尝试不同的电子邮件程序。
    • 非常感谢您的回答!这是所有参数正常工作的唯一方法
    猜你喜欢
    • 1970-01-01
    • 2017-07-03
    • 2021-04-08
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    相关资源
    最近更新 更多