2017-09-07 102 views
0

我使用Email::MIME從Perl腳本發送郵件。所有的郵件都很好。但事情是,當我給了多個密送郵件ID,對於密件抄送地址郵件沒有發送。它不會拋出任何錯誤。 任何人都可以在這種情況下提供幫助嗎?電子郵件:: MIME不會在Perl中發送BCC地址

use Encode; 
use Email::Sender::Simple qw/try_to_sendmail/; 
use Email::MIME; 
use Email::Sender::Transport::SMTP::TLS; 
use Email::Address::XS; 

my $mailinfo = shift; 
my $username = usename; 
my $password = password; 
my $from = fromaddress; 
my $to  = to; 
my $subject = subject; 
my $body  = body; 
my $host = host; 
my $port = port; 
my $bcc = bcc; 
my $email = Email::MIME->create(
header_str => [ 
    From => Email::Address::XS->new($display_name,$from), 
    To  => $to, 
    Subject => Encode::encode('MIME-Header-ISO_2022_JP', $subject), 
], 
parts => [ @body1 ], 
); 
$_->encoding_set('base64') for $email->parts; 
try_to_sendmail(
     $email, 
     { 
     to => [$to,$bcc], 
     transport => Email::Sender::Transport::SMTP::TLS->new(
     host  => $host, 
     port  => $port, 
     username => $username, 
     password => $password, 
     ) 
     } 
) or do { 
print "Error occured while mail send\n"; 
} 
+0

這裏'try_to_sendmail'函數從哪裏來?它似乎是來自Email :: Sender :: Simple的未記錄的導出。您的代碼包含語法錯誤,除非'usename','password',...和'bcc'是常量或函數調用。請顯示您的**真實代碼**。沒有看到實際的代碼,我們無法幫助您找到問題。 – simbabque

+0

爲什麼你手動建立一個頭? – simbabque

+0

我喜歡Email :: Stuffer。它來自同一作者,它將所有這些古怪都抽象出來。也許你應該試試看。 – simbabque

回答

1

當創建消息Email::MIME->create不添加BCC報頭。 您發送給to的任何地址不是有效的郵件地址。

my $email = Email::MIME->create(
header_str => [ 
From => Email::Address::XS->new($display_name,$from), 
To  => [$to, $bcc] 
Subject => Encode::encode('MIME-Header-ISO_2022_JP', $subject), 
], 
parts => [ @body1 ], 
); 

編輯:根據您的問題與密件抄送中的多個地址。

你應該有它無論是作爲:

$bcc1 = '[email protected]'; 
$bcc2 = '[email protected]'; 
$bcc3 = '[email protected]'; 

然後把它作爲

To  => [$to, $bcc1, $bcc2, $bcc3] 

或定義的電子郵件地址的字符串加入他們的行列,併發送這樣。

@bcc = ('[email protected]', '[email protected]', '[email protected]'); 
To  => join (',', @bcc), 

或者你可以定義$ BCC爲一個字符串

$bcc = 'j[email protected], [email protected], [email protected]'; 
To  => [$to, $bcc] 

您需要使用逗號,而不是空格分隔的電子郵件地址。

+0

但我仍然面臨着這個問題。如果我將密件抄送地址添加到提交,我收到來自收件人的郵件。但對我來說,它需要來自密送人 –

+0

因爲你在標題中有密件抄送,你應該排除它 –

+0

- 我已經在標題部分刪除了密件抄送。但我仍然面臨同樣的問題。 –

相關問題