尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
curl 邮件协议实战:3 条指令跑通 SMTP 发信到 IMAP 归档
curl 邮件协议实战3 条指令跑通 SMTP 发信到 IMAP 归档【免费下载链接】curlA command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features项目地址: https://gitcode.com/GitHub_Trending/cu/curl用 curl 操作邮件协议其实只绕开三个参数--mail-from、--mail-rcpt、协议前缀。读完这篇你能独立跑通「SMTP 发一封信 → POP3 拉回整个收件箱 → IMAP 筛选标记做轻量归档」的完整链路连不上服务器时也知道先查哪里。 命令行一条指令把信发出去SMTP发信的关键是三件套URL 指向 SMTP 服务器、--mail-from指定发件人、--mail-rcpt指定收件人正文用-T从文件上传。参数含义见 --mail-from 和 --mail-rcpt。下面这条指令解决「把本地邮件文件发给一个收件人」的问题curl smtp://smtp.example.com \ --mail-from meexample.com \ --mail-rcpt youexample.com \ --user 账号:密码 \ --upload-file email.txt收件人可以写多个--mail-rcpt想抄送就再追加一个。这里要注意邮件文件本身要带完整头From:、To:、Subject:和一个空行分隔正文curl 不会替你生成。如果项目里要嵌在 C 代码里核心调用不到 15 行完整版可以看 docs/examples/smtp-mail.cCURL *curl curl_easy_init(); curl_easy_setopt(curl, CURLOPT_URL, smtp://smtp.example.com); curl_easy_setopt(curl, CURLOPT_MAIL_FROM, meexample.com); curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); struct curl_slist *rcpt curl_slist_append(NULL, youexample.com); curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, rcpt); curl_easy_setopt(curl, CURLOPT_USERNAME, 账号); curl_easy_setopt(curl, CURLOPT_PASSWORD, 密码); CURLcode res curl_easy_perform(curl);库里对应的选项是CURLOPT_MAIL_FROM/CURLOPT_MAIL_RCPT文档在 CURLOPT_MAIL_RCPT。信发出去之后下一步是看看收件箱里有什么。 把收件箱整体搬回本地POP3POP3 的设计就是「下载即搬走」按序号取信、取完标记删除、QUIT 时真正删掉。curl 里 URL 写到服务器是操作整个邮箱带/N就是取第 N 封。把整个收件箱拉到本地 mbox 文件一条指令curl pop3s://pop.example.com --user 账号:密码 -o inbox.mbox只想看邮箱里有几封信、多大不拉内容就加-I发个 HEAD 请求curl pop3s://pop.example.com --user 账号:密码 -I返回头里会带X-BIMAP-STAT: 邮件数 总字节数顺手就能拿到统计。单封邮件想存成 .emlcurl pop3s://pop.example.com/7 --user 账号:密码 -o mail7.eml这里要注意 POP3 取信是破坏性的-o拿到的第 7 封在下次 QUIT 后从服务器上消失。要保留原件的场合请走下一节的 IMAP。 IMAP 不删信筛选和标记怎么弄IMAP 把邮箱留在服务器你只发命令LIST列目录、SEARCH筛选、STORE打标、UIDxx精确定位。curl 通过-X透传原始 IMAP 命令等于自带一个终端。列出服务器上所有邮箱curl imaps://imap.example.com --user 账号:密码 -X LIST *按 UID 抓某一封注意;UID要放在 URL 路径里并整体加引号curl imaps://imap.example.com/INBOX;UID42 --user 账号:密码 -o mail42.eml轻量归档的典型套路是「先搜再标」搜未读把命中结果打上归档标记不删也不移动# 第一步找出未读邮件的 UID curl imaps://imap.example.com/INBOX --user 账号:密码 -X SEARCH UNSEEN # 第二步把 42 这封标记为归档不删除 curl imaps://imap.example.com/INBOX --user 账号:密码 -X STORE 42 FLAGS (\Archive)对应 C 库写法在 docs/examples/imap-search.c 和 docs/examples/imap-store.c逻辑和上面的命令一一对应。发、收、筛都通了最后把这些命令能稳定跑起来的连接层一次性配齐。端口、加密、认证字段一次配齐邮件协议最常见的返工就是端口和加密方式配错。规则很简单s结尾的 schemesmtps/pop3s/imaps是隐式 TLS连上去就加密不带s的是明文起步要加密就补--sslSTARTTLS或--ssl-reqd强制不升级就断开详见 --ssl-reqd。协议明文端口隐式 TLS 端口推荐 scheme认证字段SMTP25 / 587465smtp://--ssl-reqd或smtps://--user 账号:密码POP3110995pop3s://--user 账号:密码IMAP143993imaps://--user 账号:密码认证字段统一都是--user库调用里是CURLOPT_USERNAME/CURLOPT_PASSWORDcurl 会按服务器通告的顺序尝试 AUTH 机制PLAIN、LOGIN 等你不用手动挑。证书验证默认开着内网自签证书才需要--cacert /path/to/ca.pem指一下不建议直接--insecure绕过。连不上、登不上时先查这几处排错顺序从外向内先确认端口通不通再看 TLS 握手最后查账号。下面这张表覆盖 90% 的报错场景。症状大概率原因怎么验证Could not connect端口错了25 常被防火墙拦nc -vz smtp.example.com 465先测连通连上立刻SSL connect error明文端口上强行用了--ssl-reqd但服务器不支持 STARTTLS换smtps://或去掉--ssl-reqdLogin denied(CURLE_LOGIN_DENIED)密码错误或服务商要求「客户端专用密码」而非登录密码换专用密码重试多数服务商在账户页可生成Authentication mechanism unsupportedcurl 编译时没带 SASL/CYRUS-SASL 库curl -V看 Supported protocols 附近有没有 SASL 相关字样发信被拒550 5.7.1发件地址和登录账号不一致服务器认为你在伪造--mail-from改成与--user相同的地址IMAP 命令没反应-X里的引号被 shell 吃掉用单引号包住-X LIST *还看不出问题时加-v看完整请求响应流水加--trace-ascii file.log落盘一份慢慢翻比猜快得多。速查对照表场景端口加密方式认证字段一条最短命令SMTP 发信465隐式 TLS--usercurl smtps://smtp.example.com --mail-from ax --mail-rcpt by --user u:p -T mail.txtSMTP STARTTLS587显式 TLS--usercurl smtp://smtp.example.com --ssl-reqd --mail-from ax --mail-rcpt by --user u:p -T mail.txtPOP3 拉全箱995隐式 TLS--usercurl pop3s://pop.example.com --user u:p -o inbox.mboxPOP3 取单封995隐式 TLS--usercurl pop3s://pop.example.com/7 --user u:p -o 7.emlIMAP 搜未读993隐式 TLS--usercurl imaps://imap.example.com/INBOX --user u:p -X SEARCH UNSEENIMAP 标记归档993隐式 TLS--usercurl imaps://imap.example.com/INBOX --user u:p -X STORE 42 FLAGS (\Archive)【免费下载链接】curlA command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features项目地址: https://gitcode.com/GitHub_Trending/cu/curl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

三极管串联型线性稳压电源:原理、参数计算与调试要点

三极管串联型线性稳压电源:原理、参数计算与调试要点

三极管串联型线性稳压电源是硬件工程师笔面试中高频出现的基础电路。很多求职者看到原理图能念出“稳压管、调整管、取样电阻”这几个名词,但被问到调整管为什么必须工作在放大区、输出电压究竟由谁决定、负载增大时负反馈如何动作,回答就容易卡壳。下面…

📅 2026/10/11 15:52:38
m3u8视频下载全解析:从HLS协议到安卓嗅探与加密解密

m3u8视频下载全解析:从HLS协议到安卓嗅探与加密解密

手机上看视频时,经常遇到一个尴尬问题:明明网页里能正常播放,却找不到下载入口;好不容易通过浏览器调试工具找到了视频资源地址,发现它不是.mp4,而是一个.m3u8文件。Lj下载器这类安卓工具被很多用户拿来和P…

📅 2026/10/7 7:59:51
全桥LLC开环仿真:从参数设置到ZVS波形验证

全桥LLC开环仿真:从参数设置到ZVS波形验证

1. 全桥LLC开环仿真到底在验证什么 很多人拿到“MATLAB/SIMULINK 全桥LLC谐振变换器开环仿真”这类题目时,第一反应是找个现成模型改参数、跑波形,然后把图截出来就算完成。这种方式不能说错,但我建议你先想清楚一件事:开环仿真不…

📅 2026/10/12 13:48:09
MORE NEWS

更多资讯

📰

基于YOLOv5的绝缘子缺陷检测实战:训练配置、评估指标与避坑指南

简介:基于YOLOv5算法实现的绝缘子及绝缘子缺陷识别检测系统,面向电力巡检、计算机视觉学习者与深度学习开发者,解决输电线路中绝缘子目标检测与缺陷定位的实际问题。资源包含完整Python源码、训练好的模型文件、多种评估指标曲线及详细使用说…

📰

AI评测系统谁来评测?元评估与LLM裁判偏差治理实战

1. 这个标题到底在说什么先把标题拆开看。“68.7万美元年薪”是个钩子,指的是市场上对一类稀缺岗位的薪酬传闻——干的活儿不是训练模型,而是测试AI、评测AI、给AI的输出打分并设计打分规则。后半句“你的评测系统谁来评测”才是真正的题眼:当…

📰

双11预售邮件别靠倒计时堆频次:先写清发送状态机

离双11还有一段时间,预售邮件可以先设计,不能提前写成活动已经结束的复盘。一封“最后机会”发错时间,比少发一封邮件更容易损害信任。 我会先写发送状态,再写标题:用户是否订阅,是否已经购买,…

📰

一枚参数叶片,给 AI 绘图一个稳定参照

同样一句“细长的秋叶”,人脑里可能是柳叶,模型却可能画成枫叶。继续堆风格词有时能改善气氛,却没有解决形状歧义。我会先画一张最简参数草图,把长宽、中脉和轮廓交代清楚,再让模型提颜色、纸张和构图方案。 参考图能…

📰

散步清单可以记忆,不能替人下单

一个散步助手可以记住“想去河边”“回程买面包”,但“记住偏好”和“代替执行”之间,隔着一条很实在的线。尤其当 Agent 能调用浏览器或商店接口时,一条随口记下的愿望,不该直接变成订单。 把动作写成状态,而不是一句…

📰

libexif 0.6.21 Windows 构建与部署实战指南

简介:本资源是专为Windows平台开发者提供的libexif 0.6.21动态链接库运行时组件包,面向C/C图像处理、数码照片元数据解析等场景的中高级开发人员,解决EXIF信息读取、修改与写入的底层依赖问题。压缩包共25个文件,含核心动态库libe…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬