通过 MS Exchange Server 在 Windows 上使用 curl 发送邮件

Posted

技术标签:

【中文标题】通过 MS Exchange Server 在 Windows 上使用 curl 发送邮件【英文标题】:Sending mail with curl on Windows via MS Exchange Server 【发布时间】:2020-03-18 21:11:37 【问题描述】:

我正在尝试通过 MS Exchange Server 在 Windows 10 上使用 curl 发送电子邮件。电子邮件发送给同一 Active Directory 域中的另一个用户,并且发送电子邮件的用户已经在 Windows 下进行了身份验证。

鉴于上述情况,我可以使用 telnet 成功发送电子邮件,如下所示:

或PowerShell如下:

鉴于以上两个命令有效,我正在寻找等效的 curl 命令。我查看了以下 SO 答案:

Using curl to send email

并尝试了以下命令(以及许多其他选项组合),但没有成功。

curl -v --url "webmail.jXs.com:25" --mail-from "r@jXs.com" --mail-rcpt "s@jXs.com" --upload-file mail.txt

我得到以下输出:

mail.txt 文件在哪里:

那么,我的 curl 命令有什么问题?谢谢。

【问题讨论】:

【参考方案1】:

显然在使用 curl 时,我们必须在 url 中指定 smtp 通信协议(使用 telnet 或 powershell 时不需要)。因此,将 smtp:// 添加到 url 使 curl 命令起作用。

curl -v --url "smtp://webmail.jXs.com:25" --mail-from "r@jXs.com" --mail-rcpt "s@jXs.com" --upload-file mail.txt

【讨论】:

以上是关于通过 MS Exchange Server 在 Windows 上使用 curl 发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

server2003域用户想利用Exchange收发网易的邮件,请问如何设置Exchange?

Exchange Server 2007 / 2010 命令安装法

Exchange Server 2007 多名称证书配置(转载)

server =在ldap查询中意味着什么

通过电话号码从 Exchange Server 查询 GAL 联系人

Python:如何通过 IMAP 将带有密件抄送收件人的草稿电子邮件存储到 Exchange Server?