You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用curl发送SMTP邮件?遇URL格式错误问题求助

使用curl发送SMTP邮件遇到URL格式错误问题

我花了三天时间查阅数百篇关于使用curl发送基础SMTP邮件的帖子。最初我使用mail命令(我的Debian Linux系统底层调用exim4),但无法正常工作,且使用-d或-v选项几乎得不到有效信息,于是放弃了这种方式。

我最近最接近成功的尝试基于一篇Stack Overflow回答。curl显示已成功连接服务器、建立TLS连接并完成认证,但随后提示URL格式无效——这一提示似乎是curl的通用报错,逻辑不通,且我并未收到邮件。我尝试了无数引号等格式的变体,以下是我最佳的curl尝试脚本及输出(邮箱地址和密码已打码):

#!/usr/bin/zsh

SMTP='mail.forestpathology.org'
PORT=465  # SSL/TLS端口为465;非SSL端口为2525
USER='------@forestpathology.org'
PASS='-------'
SERVER='Tabernacle'
FROM='-----@forestpathology.org'
TO='-----@mac.com'

cat mail.txt

curl -v --ssl-reqd \
--url smtps://$SMTP:$PORT \
--user $USER:$PASS \
--mail-from $FROM \
--mail-rcpt $TO \
--upload-file mail.txt
Tabernacle:~$ sudo bin/testsm.zsh

发件人: "用户名" <-----@forestpathology.org>
收件人: "约翰·史密斯" <-----@mac.com>
主题: 这是一封测试邮件

嗨约翰,
我正在用curl发送这封邮件。
再见!

*   正在尝试连接70.32.23.63:465...
* 已连接到mail.forestpathology.org (70.32.23.63) 端口465 (#0)
* TLSv1.3 (输出), TLS握手, 客户端问候 (1):
*  CA文件: /etc/ssl/certs/ca-certificates.crt
*  CA路径: /etc/ssl/certs
* TLSv1.3 (输入), TLS握手, 服务器问候 (2):
* TLSv1.2 (输入), TLS握手, 证书 (11):
* TLSv1.2 (输入), TLS握手, 服务器密钥交换 (12):
* TLSv1.2 (输入), TLS握手, 服务器完成 (14):
* TLSv1.2 (输出), TLS握手, 客户端密钥交换 (16):
* TLSv1.2 (输出), TLS更改密码套件, 更改密码规范 (1):
* TLSv1.2 (输出), TLS握手, 完成 (20):
* TLSv1.2 (输入), TLS握手, 完成 (20):
* SSL连接使用TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* 服务器证书:
*  主体: CN=forestpathology.org
*  生效日期: 2024年5月26日 20:05:10 GMT
*  过期日期: 2024年8月24日 20:05:09 GMT
*  主题备用名称: 主机"mail.forestpathology.org"与证书中的"mail.forestpathology.org"匹配
*  颁发者: C=US; O=Let's Encrypt; CN=R3
*  SSL证书验证通过。
< 220-mi3-ss52.a2hosting.com ESMTP Exim 4.96.2 #2 2024年5月28日 星期二 16:47:53 -0400 
< 220-我们不授权使用本系统传输未经请求的、
< 220 和/或批量电子邮件。
> EHLO Tabernacle
< 250-mi3-ss52.a2hosting.com 你好 Tabernacle [97.120.128.182]
< 250-SIZE 78643200
< 250-8BITMIME
< 250-PIPELINING
< 250-PIPECONNECT
< 250-AUTH PLAIN LOGIN
< 250 HELP
> AUTH PLAIN
< 334 
> AG----------------------------XM=
< 235 认证成功
> HELP
< 214-支持的命令:
214-支持的命令:
< 214 AUTH HELO EHLO MAIL RCPT DATA BDAT NOOP QUIT RSET HELP
214 AUTH HELO EHLO MAIL RCPT DATA BDAT NOOP QUIT RSET HELP
* 连接#0到主机mail.forestpathology.org保持不变
* 关闭连接-1
curl: (3) URL格式错误/非法或缺少URL
Tabernacle:~$ 

内容的提问来源于stack exchange,提问作者Jim Worrall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 09:35:05