curl 邮件协议实战:3 条指令跑通 SMTP 发信到 IMAP 归档

发布时间:2026/10/20 13:35:04

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),仅供参考
延伸阅读

更多相关文章

2026/10/20 12:13:22

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

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

2026/10/19 18:27:05

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

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

2026/10/20 13:34:02

一文搞懂 React Context Mode:跨组件状态共享与性能优化实战

做前端时间久了,你会发现一个挺有意思的现象:凡是涉及跨组件共享状态的地方,绕来绕去最后都会落在同一个话题上——context-mode。上下文模式,说简单也简单,无非是造一个 Provider,把数据往下一抛&#xff…

2026/10/20 13:34:02

大模型推理调优实战:从指标拆解到关键参数配置

做推理服务的人,一定经历过这种局面:模型在测试环境怎么压都稳,一上生产并发稍微上来就超时;或者本地单条请求响应快得飞起,线上看着GPU利用率不到一半,吞吐却死活上不去。更恼火的是,网上到处是…

2026/10/20 13:34:02

零基础系统学习网络安全:Web安全、逆向工程与漏洞挖掘路线图

网络安全这行,我算是从零基础一步步摸爬滚打过来的。早些年想学Web安全,网上资料东一块西一块,今天看个注入教程,明天又去研究工具用法,学了大半年还是云里雾里。后来带过不少新人,发现大家踩的坑都差不多—…

2026/10/20 13:34:02

N_m3u8DL-RE 完整指南:如何下载与录制加密流媒体视频

N_m3u8DL-RE 完整指南:如何下载与录制加密流媒体视频 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE …

2026/10/20 13:34:02

MacOS上使用Ollama运行Qweb3:8b本地大模型实践指南

先交代一下背景。我最近在MacOS上折腾Ollama,把Qweb3:8b模型跑了起来,整个流程从下载模型到调参到实际用起来,踩了不少坑,也摸出了一些门道。这篇文章不打算写成说明书式的流水账,而是把我实际操作的完整路径、每一步背…

2026/10/20 13:29:01

人工势场法避障实战:从仿真到实车的参数整定与避坑指南

简介:这份资源面向无人车路径规划方向的学习者与开发者,聚焦基于人工势场法(APF)的避障路径规划实现,适合已具备一定MATLAB基础、希望理解算法落地细节的中高级读者。压缩包共4个文件,均为m脚本文件&#x…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑