Почему Email :: MIME разделил мое вложение? - PullRequest
0 голосов
/ 28 апреля 2010

Почему вложение (около 110 КБ) разделяется на 10 частей (около 11 КБ), когда я отправляю его с помощью этого сценария, используя Email :: MIME ?

#!/usr/bin/env perl
use warnings; use strict;

use Email::Sender::Transport::SMTP::TLS; 
my $mailer = Email::Sender::Transport::SMTP::TLS->new(
    host => 'smtp.my.host',
    port => 587,
    username => 'username',
    password => 'password',
);

use Email::MIME::Creator;
use IO::All;
my @parts = (    
    Email::MIME->create(
    attributes => {
        content_type => 'text/plain',
        disposition  => 'inline',
        encoding     => 'quoted-printable',
        charset      => 'UTF-8',
    },
    body => "Hello there!\n\nHow are you?",
    ),
    Email::MIME->create(
    attributes => {
        filename     => "test.jpg",
        content_type => "image/jpeg",
        disposition  => 'attachment',
        encoding     => "base64",
        name         => "test.jpg",
    },
    body => io( "test.jpg" )->all,
    ),
);
my $email = Email::MIME->create(
    header => [ From => 'my@address', To => 'your@address', Subject => 'subject', ],
    parts  => [ @parts ],
);

eval {
    $mailer->send( $email, {
        from => 'my@address',
        to   => [ 'your@address' ],
    } );
};
die "Error sending email: $@" if $@;

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

У меня был похожий случай с использованием MIME :: Lite и Net :: SMTP :: TLS (с использованием TLS, а не SSL, потому что не работало соединение с smtp.gmail.com с помощью SSL) в моем сценарии Perl для отправки электронной почты с вложениями электронных таблиц через учетную запись gmail, в результате чего вложения электронных таблиц были разбиты на несколько файлов размером 10 КБ.

Решением было заменить Net :: SMTP :: TLS на Net :: SMTP :: TLS :: ButMaintained , чего я изначально не видел. Более новый модуль TLS прекрасно работает.

0 голосов
/ 01 мая 2010

Я могу предложить вам обходной путь: вместо этого используйте MIME :: Lite

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...