Как отправить письмо с помощью Net::SMTP_auth, qwer, 23-Мрт-11, 09:42 [смотреть все]Здравствуйте, подскажите пож-та, как отправить письмо с помощью Net::SMTP_auth. Точнее сама отправка работает, но проблемы с кириллицей. Кусок кода у меня такой: Массив @send типа этого (логин@rambler.ru,smtp.rambler.ru,"тут пароль") $smtp = Net::SMTP_auth->new($send[1],Debug => 0); $smtp->auth('LOGIN', $send[0], $send[2]); $smtp->mail($send[0]); $smtp->to($kuda); - кому отправляем $smtp->data(); # Start the mail $smtp->datasend("Content-Type: 'text/plain; charset=windows-1251'\n"); $smtp->datasend("To: $kuda\n"); $smtp->datasend("From: $send[0]\n"); $subj=encode_base64("Тема письма"); chomp($subj); $subj = "=?windows-1251?B?".$subj."?="; $smtp->datasend("Subject: $subj"); $smtp->datasend("\n"); #$smtp->datasend(@message); $smtp->dataend(); # Finish sending the mail if ($smtp->dataend()){ print TMP "E-mail from $send[0] to $kuda sent\t\t\tOK!\n"; print "E-mail from $send[0] to $kuda sent\t\t\tOK!\n"; } else{ print TMP "E-mail from $send[0] to $kuda sent\t\t\tFAIL!\n"; print "E-mail from $send[0] to $kuda sent\t\t\tFAIL!\n"; }; $smtp->quit; В общем отправляет, даже тема нормально читается, но вот тела нет Что не так, не подскажете?
|
- Как отправить письмо с помощью Net::SMTP_auth, cryo, 15:00 , 23-Мрт-11 (1)
Так у вас закомментарен кусок посылающий само тело: $smtp->datasend("\n"); #$smtp->datasend(@message); $smtp->dataend(); # Finish sending the mailНу и массив надо бы пребразовать в строку: $smtp->datasend("\n"); $smtp->datasend(join("\n", @message)); $smtp->dataend(); # Finish sending the mail
- Как отправить письмо с помощью Net::SMTP_auth, qwer, 15:21 , 23-Мрт-11 (2)
Нет вы меня не поняли! Кусок я поставил правильный, закомментировал только потому, что тестировал разные приемы с кириллицей. Англоязычный текст уходит и в таком виде $smtp->datasend(@message); и в таком $smtp->datasend("asdjklfhaskld\njahsdfsdhj\n"); Проблема как раз с кириллицей. Может есть другие способы для отправки сообщений именно с SMTP авторизацией. Пробовал через MAIL::SEnder - но тоже ничего не вышло. с кодировкой вообще жесть какая то
- Как отправить письмо с помощью Net::SMTP_auth, NuINu, 20:42 , 25-Мрт-11 (3)
>[оверквотинг удален] > Кусок я поставил правильный, закомментировал только потому, что тестировал разные приемы > с кириллицей. > Англоязычный текст уходит и в таком виде > $smtp->datasend(@message); > и в таком > $smtp->datasend("asdjklfhaskld\njahsdfsdhj\n"); > Проблема как раз с кириллицей. > Может есть другие способы для отправки сообщений именно с SMTP авторизацией. > Пробовал через MAIL::SEnder - но тоже ничего не вышло. > с кодировкой вообще жесть какая то Закодируйте тело письма с кирилицей в Base64 и будет вам счастье. в хедере только не забудьте указать кодировку письма.
|