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

curl使用-n参数读取netrc凭证访问雅虎IMAP服务失败,但-u参数正常的问题求助

curl使用-n参数读取netrc凭证访问雅虎IMAP服务失败,但-u参数正常的问题求助

我最近在用curl访问雅虎IMAP服务时碰到了个棘手的问题——直接用-u参数指定账号密码能正常跑通,但换成-n读取netrc文件里的凭证就报错了,翻来覆去找不到问题根源,想请大家帮忙看看!

正常工作的命令

直接通过-u参数传入凭证的命令完全没问题,能成功获取INBOX的状态:

~$ curl -u 'foo@yahoo.com:123' imaps://imap.mail.yahoo.com:993 -X 'STATUS INBOX (MESSAGES)'

失败的命令

换成-n参数读取netrc文件的命令就不行了:

~$ curl -n imaps://imap.mail.yahoo.com:993 -X 'STATUS INBOX (MESSAGES)'

我的环境

  • 系统:Ubuntu 23.04
  • curl版本:8.0.1(通过snap安装)

netrc文件内容

我的netrc文件放在默认的~/.netrc路径下,内容是:

machine imap.mail.yahoo.com
login foo@yahoo.com
password 123

错误日志(verbose模式输出)

开启-v参数后,看到的关键错误信息如下:

Couldn't find host imap.mail.yahoo.com in the (nil) file; using defaults
[一堆中间输出内容]
curl: (21) Quote command returned error

我已经尝试过的操作

  • 修改netrc文件权限为600(确保只有当前用户可读)
  • 把login和password的值用引号括起来
  • 检查netrc文件的格式是否有空格或换行问题

但以上操作都没能解决问题,还是报同样的错误,有没有大佬知道这是哪里出问题了呀?

备注:内容来源于stack exchange,提问作者user1799443

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 12:59:41