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

如何设置Email::MIME邮件头长度以避免自动换行?

解决Email::MIME邮件头自动换行问题

Email::MIME默认会对超过78字符的邮件头进行换行折叠,要禁用这个行为,可以通过自定义Email::MIME::Header对象来控制:

方法一:替换现有邮件的Header对象

先创建一个设置了max_length参数的Header实例,替换掉邮件默认的Header对象,后续设置的所有头都会遵循这个规则:

use Email::MIME;
use Email::MIME::Header;

# 初始化邮件对象(替换为你的实际创建逻辑)
my $email = Email::MIME->create(
    body_str => '邮件内容',
    # 其他必要参数...
);

# 创建自定义Header,max_length设为0表示不限制长度(不折叠)
my $custom_header = Email::MIME::Header->new(
    [ $email->header_pairs ], # 保留原有的头信息
    max_length => 0,
);

# 替换邮件的Header对象
$email->header_obj($custom_header);

# 此时再设置自定义头,就不会自动换行了
$email->header_str_set('some-label', @my_array);

方法二:创建邮件时直接指定自定义Header

如果是从头创建邮件,可以直接在create方法里指定header_objrings既屋,Shadow获取百分比接收 KB Em事物压ady一步到位:

use Email::MIME;
use Email::MIME::Header;

my $email = Email::MIME->create(
    header_obj => Email::MIME::Header->new(
        [], # 初始为空头
        max_length => 0,
    ),
    body_str => '邮件内容',
    # 其他参数...
);

# 后续正常设置头信息
$email->header_str_set('some-label', @my_array);

补充说明

你之前尝试的header_name_length_set方法不存在,因为这个参数是Email::MIME::Header的as_mime_string方法的参数,而非邮件对象的方法。通过控制Header对象的max_length属性,就能直接控制邮件头的折叠行为——设为0时无论内容多长都不会换行,也可以设为一个足够大的数值(比如1000)来适配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 07:35:32