Еще вопрос по перлу (отправка почты через sendmail)

abramov2008

отправляю письмо из скрипта:


open (OUT, "| /usr/sbin/sendmail -t") or die "$!\n";
print OUT "From: $sender\n";
print OUT "To: $recipient\n";
print OUT "Subject: $subject\n";
print OUT "\n";
print OUT "$body";
close (OUT);


а как задать кодировку в которой отправляется письмо?

sergey_m

Например так:


Content-Type: text/plain; charset=koi8-r
Content-Transfer-Encoding: 8bit


соответственно тело письма в koi8-r.
Ну или цывильно воспользоваться p5-MIME-Lite, p5-Mail-Sendmail и прочими библиотеками.

Marinavo_0507

RFC 2047
Поле Content-Type
perldoc MIME::Lite

abramov2008

не получается


open (OUT, "| /usr/sbin/sendmail -t") or die "$!\n";
print OUT "Content-type: text/html; charset=win-1251\n";
print OUT "From: $sender\n";
print OUT "To: $recipient\n";
print OUT "Subject: $subject\n";
print OUT "\n";
print OUT "$body";
close (OUT);


Outlook же при просмотре ставит кодировку koi8-r. В чем дело?
библиотек нет к сожалению, приходится в лоб пользоваться sendmail'ом

sergey_m

Во-первых засунуть этот заголовок самым последним. Во-вторых давай сначала убедимся, что нормально работает с text/plain.

sergey_m

Есть подозрение, что outlook офигевает от письма с HTML, но не multipart.

rfgbnfy

charset=win-1251

charset=windows-1251

Marinavo_0507

> charset=win-1251
а если windows-1251 ?

abramov2008

всем спасибо огромное!
с charset=windows-1251 все заработало!

voronetskaya

спамишь небось?

abramov2008

нет не спамлю
я этим не занимаюсь
Оставить комментарий
Имя или ник:
Комментарий: