2015-06-17 4 views
1

Электронное письмо можно просматривать обычным образом с использованием некоторых почтовых клиентов (Evolution, Thunderbird), но с другими клиентами (например, GMX) тело сообщения остается пустым, а вложение, содержащее тело сообщения отправлено.Обычные текстовые сообщения, отображаемые в виде прикрепленных файлов на некоторых почтовых клиентах

Я хотел бы знать, как я могу предотвратить это, потому что сообщение предназначено для чтения людьми, а тело в приложении является странным.

my $ServerName = ""; 

    my $from_address = ''; 
    my $to_address = ''; 
    my $subject  = 'MIME Test: Text'; 
    my $mime_type = 'text'; 
    my $message_body = "This is a test.\n"; 
    # Create the initial text of the message 
    my $mime_msg = MIME::Lite->new(
    From => $from_address, 
    To  => $to_address, 
    Subject => $subject, 
    Type => $mime_type, 
    Data => encode("utf8",$message_body) 

    ) or die "Error creating MIME body: $!\n"; 

    # encode body of message as a string so that we can pass it to Net::SMTP. 

    $message_body = $mime_msg->body_as_string(); 

    # Let MIME::Lite handle the Net::SMTP details 
    MIME::Lite->send('smtp', $ServerName,);# AuthUser => $user, AuthPass => $pass); 
    $mime_msg->send() or die "Error sending message: $!\n"; 
+0

Я использую Email :: Sender сейчас и все работает отлично. –

ответ

1

Я думаю, что это закрывается, что вы собираетесь получить в ответ

documentation for MIME::Lite говорит, что это

MIME :: Lite не рекомендуется его текущим сопровождающему. Существует несколько альтернатив, таких как Email :: MIME или MIME :: Entity и Email :: Sender, которые вы, вероятно, должны использовать вместо этого. MIME :: Lite продолжает набирать странные отчеты об ошибках и не получает большого количества рефакторинга из-за доступности лучших альтернатив. Пожалуйста, рассмотрите возможность использования чего-то другого.

«Текущая сопровождающий» является неподражаемым Рикардо Signes, и я предлагаю вам последовать его совету