cypht无法获取163、126邮件

cypht很好用,各个邮箱都能通过imap添加到cypht中,不过网易系的163和126邮箱却有些问题,能获取到邮件数量,却查询不到邮件列表,这是因为网易系邮箱的IMAP强制要求请求需要卸载IMAP ID参数,目前我用的cypht/cypht:2.8.0,依旧是无法获取邮件列表,所以只能自己手动修改一下,只需要改动一个文件就行容器内路径为/usr/local/share/cypht/modules/imap/hm-imap.php

建议把文件从容器中拷贝出来,在本地修改再覆盖回去,因为文件太大不好找位置,而且一般这个文件都没有进行持久化,容器重建之后内容会还原,所以在本地留一份,需要时直接覆盖回去

  1. 拷贝文件到宿主机

    shell 复制代码
    docker cp cypht:/usr/local/share/cypht/modules/imap/hm-imap.php /home/
  2. 使用ssh工具直接双击编辑(我这里用的electerm)

    或者用vim打开hm-imap.php

    输入/parse_extensions_from_capability()找到parse_extensions_from_capability()这一行,回车跳转到该行

    然后输入i,进入输入模式,在该行下插入以下内容

    php 复制代码
    // ========== 终极版 163/126 修复:无脑伪装 Foxmail ==========
    if (!isset($this->sent_imap_id)) {
        $id_command = "ID (\"name\" \"Foxmail\" \"version\" \"7.2.17.86\" \"vendor\" \"Tencent\" \"support-email\" \"foxmail@tencent.com\")\r\n";
        $this->send_command($id_command);
        $id_response =$this->get_response();
        $this->debug['NETEASE_ID'] =$id_response; // 记录到调试数组
        $this->sent_imap_id = true;
    }
    // =========================================================

    之后按esc退出输入模式,输入:进入末行模式,然后输入wq,回车,就保存好了

  3. 覆盖回容器

    shell 复制代码
    docker cp /home/cypht/hm-imap.php cypht:/usr/local/share/cypht/modules/imap/
  4. 重启容器

    shell 复制代码
    docker compose restart
相关推荐
雪碧聊技术2 小时前
使用Docker,将fastApi项目部署到linux服务器
服务器·docker·fastapi·docker部署fastapi
故乡dee云2 小时前
华为云国际服务器连不上怎么办?安全组、端口、IP 和网络排查方法
服务器·网络·华为云
佳児素花痴╮2 小时前
服务器模型、网络调试工具、网络协议头分析
服务器·网络·网络协议
明志数科5 小时前
宇树科技IPO背后的产业逻辑:人形机器人从“讲故事“到“交数据“
运维·服务器·数据库
Data_Journal5 小时前
什么是 CAPTCHA,它是如何工作的?
java·大数据·服务器·前端·数据库
AC赳赳老秦5 小时前
语义采集进阶实战:利用 OpenClaw AI 语义识别自动提取网页核心信息,无需手动编写选择器
java·运维·服务器·python·信息可视化·deepseek·openclaw
我星期八休息6 小时前
扩展—DNS与ICMP
linux·服务器·网络
筝筝ba6 小时前
linux 查询当前登录的用户数量
linux·服务器·网络
woniu_buhui_fei7 小时前
日常工作常用的命令(Linux+JDK)
linux·运维·服务器
OnlineProxy7 小时前
如何在无需手机号的情况下创建 Google 账号:高信任度代理(High Trust Score Proxy)如何取代短信验证
运维·服务器·facebook