Perl 无法从Gmail正确预览或下载PDF

Perl 无法从Gmail正确预览或下载PDF,perl,email,pdf,gmail,email-attachments,Perl,Email,Pdf,Gmail,Email Attachments,我在一家主要的电子邮件提供商有一个IMAP/SMTP帐户。我想撰写并向多个收件人发送电子邮件。这些电子邮件将包含一个或多个纯文本和/或PDF附件。我用于测试的PDF附件是我用Libre Office Writer中的“导出为PDF”功能创建的,这是我以前多次使用的功能,没有任何问题 我正在使用Perl模块Email::MIME来编写电子邮件。鉴于此,我已将电子邮件的组成编码如下: use Email::MIME; use IO::All; use File::Basename; my @par

我在一家主要的电子邮件提供商有一个IMAP/SMTP帐户。我想撰写并向多个收件人发送电子邮件。这些电子邮件将包含一个或多个纯文本和/或PDF附件。我用于测试的PDF附件是我用Libre Office Writer中的“导出为PDF”功能创建的,这是我以前多次使用的功能,没有任何问题

我正在使用Perl模块Email::MIME来编写电子邮件。鉴于此,我已将电子邮件的组成编码如下:

use Email::MIME;
use IO::All;
use File::Basename;

my @parts = (
    Email::MIME->create(
        attributes => {
            filename     => basename($attachments{pdf}),
            content_type => "application/pdf",
            encoding     => "quoted-printable",
            name         => $attachments{pdf},
            disposition  => "attachment",
        },
        body => io( $attachments{pdf} )->binary->all,
    ),
    Email::MIME->create(
        attributes => {
            filename     => basename($attachments{text}),
            content_type => 'text/plain',
            name         => $attachments{text},
            disposition  => "attachment",
        },
        body => io( $attachments{text} )->all,
    ),
    Email::MIME->create(
        attributes => {
            content_type => "text/plain",
            charset      => "US-ASCII",
        },
        body => $this_body,
    ),
);

my $email = Email::MIME->create(
        header_str => [
            From => $from,
            To => [ $data->{$recipient}->{EmailAddress} ],
            Subject => $subject,
        ],
        parts      => [ @parts ],
);
然后,
$email
对象被传递到一个email::Sender调用并发送消息

我使用四个不同的电子邮件帐户来评估结果。一个是我的IMAP账户;另一个是转发到我的IMAP帐户的帐户;第三个是雅虎!邮件帐户;第四个是Gmail账户

使用上面的代码,前三个帐户的结果与预期的一样——其中“as expected”表示电子邮件正文、纯文本附件和PDF附件都已打开并正确呈现

然而,当我转到我的Gmail帐户时,PDF附件出现了两个问题:

*PDF无法在Gmail web界面中正确预览。出现了几个单词,但都是乱七八糟的。

*当我将PDF下载到磁盘时,文件大小似乎是正确的,但当我打开文件时,它似乎是完全空白的。

但还有一个观察:如果在Gmail web界面中查看邮件时,我:

  • 点击“更多”(3个垂直点)

  • 然后单击“显示原件”

  • 然后单击“下载原件”

  • 然后在我的Thunderbird客户端中打开下载的F文件

。。。然后PDF正确呈现

那么,有谁能告诉我为什么Gmail的PDF附件有问题?我能做些什么来解决这个问题吗