【问题标题】:With sendmailR, how can I specify a recipient/sender name along with the address?使用 sendmailR,我如何指定收件人/发件人姓名以及地址?
【发布时间】:2011-11-25 09:06:02
【问题描述】:

我正在使用sendmailR 发送电子邮件,但我无法使用与电子邮件地址关联的名称,例如"Sender name" <sender@domain.com>

使用 Postfix 作为 SMTP 服务器,它会抛出 SMTP Error: 5.5.4 Unsupported option: <sender@domain.com>

应该使用哪种语法或参数?欢迎您的建议!

如下示例:

from <- "\"Sender name\" <sender@domain.com>"
to <- "<olafm@datensplitter.net>"
subject <- "Hello from R"
body <- list("It works!", mime_part(iris))
sendmail(from, to, subject, body,
control=list(smtpServer="ASPMX.L.GOOGLE.COM"))

【问题讨论】:

  • 我更新了问题以包含示例代码。
  • 你试过from &lt;- "Sender name&lt;sender@domain.com&gt;"吗?
  • 您真的在使用ASPMX.L.GOOGLE.COM,还是它是一个占位符而不是您真正的 SMTP 服务器?
  • 这是一个占位符,实际的 SMTP 服务器是本地后缀。

标签: email r smtp sendmail postfix-mta


【解决方案1】:

在引用的名称和 中包含的电子邮件地址之间不得包含任何空格。这是正确的代码:

from <- "\"Sender name\"<sender@domain.com>"
to <- "\"Recipient name\"<olafm@datensplitter.net>"
subject <- "Hello from R"
body <- list("It works!", mime_part(iris))
sendmail(from, to, subject, body,
control=list(smtpServer="ASPMX.L.GOOGLE.COM"))

【讨论】:

    【解决方案2】:

    从一方面来看,一个电子邮件地址不能包含任何未引用的空格,它应该具有"\"Sender name Or Any name with any whitespace you want\"&lt;sender@domain.com&gt;" 的形式。

    另一方面,tofrom 字段格式中使用的电子邮件地址取决于服务器。

    例如,当使用 Google 的 ASPMX.L.GOOGLE.COM SMTP 时,我只能以以下形式写入地址:

    from &lt;- "&lt;sender@domain.com&gt;"

    类似的选项

    • "\"Sender name\"&lt;sender@domain.com&gt;";
    • "\"Sender name\" &lt;sender@domain.com&gt;";
    • "Sender name&lt;sender@domain.com&gt;";
    • "Sender name &lt;sender@domain.com&gt;"

    也没有被接受和生成

    SMTP 错误:5.5.2 语法错误。

    (对于第一个选项)或

    SMTP 错误:5.5.4 不支持的选项

    (我想,对于选项 2-4,因为空格)。

    但是当我尝试自定义 SMTP 服务器时,我能够同时使用 from &lt;- "&lt;sender@domain.com&gt;""\"Sender name\"&lt;sender@domain.com&gt;" - 第二个正是我所期望的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-31
      • 2017-04-12
      • 2019-11-28
      • 1970-01-01
      • 2015-07-22
      • 2012-06-28
      • 2018-02-16
      • 1970-01-01
      相关资源
      最近更新 更多