2016-09-12 2 views
0

Я пытаюсь отправить электронное письмо с помощью sendmail в perl. Электронная почта отправляется, но содержимое, которое я отправляю в качестве темы, добавляется в «Кому:» в электронном письме. Например, если с адреса [email protected], то адрес [email protected] и субъектом является "test subject". Я получаю письмо с Reply-to: поля [email protected],"Subject:test.email","To:to"@gmail.com,"Content-type:text/plain"Отправка электронной почты с помощью perl с помощью sendmail

Вот мой код:

 open(SENDMAIL, "|/usr/lib/sendmail -oi -t '$to_email' -f '$from_email'") || ($error_message .= "<P>Unable to open email process.</P>"); 
    print SENDMAIL $reply_to; 
    print SENDMAIL $subject; 
    print SENDMAIL $send_to; 
    print SENDMAIL "Content-type: text/plain\n\n"; 
    print SENDMAIL $content; 
    close(SENDMAIL); 

И если я удалю $ reply_to и $ send_to линии, электронная почта приходит с from: поля как сервер Apache.

Любая помощь будет оценена по достоинству. Я не хочу использовать какую-либо другую библиотеку, например, Email::MIME, так как она не существует в моей системе.

ответ

2

Я не уверен, что это неправильно, что вы показать, но вот некоторые рабочий код

my ($header, $From, $To, $Cc, $ReplyTo, $Subject); 

$From = "From: $from"; 
$To  = "To: $to"; 
$Cc  = "Cc: $cc_addresses"; 
$ReplyTo = "Reply-To: $replyto"; 
$Subject = "Subject: $subj"; 

# Form the header. The fields always submitted: 
$header = join("\n", $From, $To, $ReplyTo, $Subject, ''); 

# Optional fields 
$header .= "$Cc\n" if $cc_addresses; 

open(SENDMAIL, "|/usr/sbin/sendmail -oi -t") 
    or carp "Can't fork for sendmail: $!\n"; 
say SENDMAIL "$header\n$msg_cont"; 
close(SENDMAIL); 

Примечание. Существует my $cc_addresses = ''; ранее, который затем (возможно) становится застроенным.

+0

Я пробовал код, который вы отправили, но я получаю эту ошибку 'Нет адресов получателей в заголовке' –

+0

Спасибо за быстрый ответ. –

+0

@ v.coder Что я разместил прямо из библиотеки, при этом ни одна из фактически не указавших переменных - вы ее заполнили? Я не сделал это с тех пор, как вы разместили только фрагмент. Я добавлю к сообщению. – zdim

Смежные вопросы