如何使用cURL发送纯文本电子邮件
我正在尝试使用cURL发送电子邮件(不幸的是,我不能使用API或php库)。我可以很容易地发送HTML格式的邮件——这里有大量的演示和web示例。然而,我正在努力发送一封简单的纯文本电子邮件 我一直在尝试修改HTML示例,但没有成功 我目前正在发送:如何使用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:
--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的信息,但就其本身而言,如果不指定文件,它是否自动执行地址验证并不明显。