Email :: Simpleを使用してメールを送信している間に、誰でも2つのテキストファイルを添付してください。私は添付ファイルなしでメールを受け取ることができますメールを送信中に添付ファイルを添付できません
私は多くを試しましたが、正しく動作させることができませんでした。間違ったモジュールを持っているかどうかはわかりません。私はMIME :: Liteの作成者の推薦のためにMIME :: Liteを使いたくなかった。私は基本的に自分自身のSMTPの詳細を使いたいと思って、Email :: Senderを勧告にしました。添付ファイル以外はすべて動作します。
use strict;
use warnings;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP();
use Email::Simple();
use Email::Simple::Creator();
use Email::Sender::Transport::SMTP::TLS;
use Email::MIME;
use IO::All;
my $transport = Email::Sender::Transport::SMTP::TLS->new({
host => 'smtp.office365.com',
port => 587,
sasl_username => '[email protected]',
sasl_password => '[email protected]@123',
username => '[email protected]',
password => '[email protected]@123'
});
my @parts = (
Email::MIME->create(
attributes => {
content_type => "text/plain",
filename => "/tmp/ERROR1493720941.log",
charset => "US-ASCII",
disposition =>"attachment",
},
body => io("/tmp/ERROR1493720941.log")->all,
),
Email::MIME->create(
attributes => {
content_type => "text/plain",
filename => "/tmp/FAILED1493720941.log",
charset => "US-ASCII",
disposition =>"attachment",
},
body => io("/tmp/FAILED1493720941.log")->all,
),
);
my $email = Email::Simple->create(
header => [
To => '[email protected]',
From => '[email protected]',
Subject => 'Hi!',
],
body => "Hello",
parts => [ @parts ],
);
sendmail($email, { transport => $transport });
コメントに@DaveCrossで尋ねたように、ここで$メール:の出力がある>
$VAR1 = 'To: [email protected]^M
From: [email protected]^M
Subject: Hi!^M
Date: Sun, 7 May 2017 07:58:46 -0400^M
^M
Hello^M
メールを送信する直前に '$ email-> as_string'を印刷するとどうなりますか? –
@DaveCross $ VAR1 = 'To:[email protected]^M 投稿者:[email protected]^M 件名:こんにちは^ 日付:Sun、7 May 2017 07:58:46 -0400^M ^ M こんにちは^ M '; – GrSrv
質問に追加してください。コメントではほとんど読めません。 –