如何使用cURL发送纯文本电子邮件

如何使用cURL发送纯文本电子邮件,curl,text,smtp,Curl,Text,Smtp,我正在尝试使用cURL发送电子邮件(不幸的是,我不能使用API或php库)。我可以很容易地发送HTML格式的邮件——这里有大量的演示和web示例。然而,我正在努力发送一封简单的纯文本电子邮件 我一直在尝试修改HTML示例,但没有成功 我目前正在发送: --mail-from john@organisation.com --mail-rcpt jane@destination.com --user john.doe:Pa55w0rd MIME-Version: 1.0 Content-Type:

我正在尝试使用cURL发送电子邮件(不幸的是,我不能使用API或php库)。我可以很容易地发送HTML格式的邮件——这里有大量的演示和web示例。然而,我正在努力发送一封简单的纯文本电子邮件

我一直在尝试修改HTML示例,但没有成功

我目前正在发送:

--mail-from john@organisation.com
--mail-rcpt jane@destination.com
--user john.doe:Pa55w0rd
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
From: John Doe <john@organisation.com>
To: Jane Doe <jane@destination.com>
Subject: Test email

Some text
——来自john@organisation.com
--邮件rcptjane@destination.com
--用户john.doe:Pa55w0rd
MIME版本:1.0
内容类型:文本/纯文本;charset=“us ascii”
发件人:约翰·多伊
致:无名氏
主题:测试电子邮件
一些文本
但是,服务器响应为: 252 2.1.5不支持验证

仔细研究后,我发现这个错误似乎与试图验证用户帐户有关(出于可以理解的安全原因,许多邮件服务器不支持这一点),而不是试图发送邮件


我的语法显然是不正确的,因为我没有尝试验证用户,但我在web上找不到任何可以使用的示例。但我已经成功地通过cURL将一封带有嵌入图像的HTML邮件发送到同一邮件服务器

如果使用
-T
--upload file
)选项,curl将不会发出
VRFY
命令

例如:

curl smtp://mail.example.com --mail-from myself@example.com \
--mail-rcpt receiver@example.com \
--upload-file email.txt
当curl有消息要发送时,它将不会发送,而是从…RCPT向发送
邮件

man curl

--邮件rcpt (SMTP)指定单个地址、用户名或邮件列表名称

在执行邮件传输时,收件人应指定要将邮件发送到的有效电子邮件地址。(在7.20.0中添加)

执行地址验证(VRFY命令)时,应将收件人指定为用户名或用户名,并 域(as) 根据RFC5321第3.5节)。(在7.34.0中添加)


这不是很清楚,但是如果命令缺少消息(
-T
-upload file
),那么curl将执行地址验证。

谢谢!哇——没有很好的文档记录,即使是在你发送的链接中!同意!我在curl手册页中添加了一些关于VRFY的信息,但就其本身而言,如果不指定文件,它是否自动执行地址验证并不明显。