послать письмо (что-то не работает....)

Модератор: Модераторы разделов

Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

послать письмо

Сообщение Voice »

Нужно программно послать письмо на указанный адрес. Вот пробую и так:
#!/usr/bin/perl -w

use Mail::Internet;

my $sender = "from_mail\@gmail";
my $recipient = "to_mail\@meta.ua";
my $subject = "Some subject...";

my $head = Mail::Header->new();
$head->add("From" => $sender);
$head->add("To" => $recipient);
$head->add("Subject" => $subject);

my $body = "Message body here...";

my $mail = Mail::Internet->new("Header" => $head,
"Body" => [$body],
"Modify" => 1);

print($mail->send("sendmail"));

и сяк:

Код: Выделить всё

#!/usr/bin/php

<?php

$to = "to_mail@meta.ua";
$subject = "Some subject...";
$body = "Text......";


if(mail($to, $subject, $body)) {
    echo("Mail was sended successful.\n");
} else {
    echo("Failed to send mail.\n");
}

?>


И никак не работает, хотя примеры учебные и взяты из книг/статей.
Скриптик на ПХП говорит что все хорошо, письмо отправлено, но на ящик оно не приходит.
Что я не так делаю? Подскажите, кто знает.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: послать письмо

Сообщение v04bvs »

Скорее всего на машине не правильно настроен MTA.
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: послать письмо

Сообщение Voice »

Тоесть? Мне нужно настроить например sendmail у себя на машине?
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Shade
Сообщения: 40
ОС: ArchLinux

Re: послать письмо

Сообщение Shade »

Может быть, попробовать Net::SMTP?
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: послать письмо

Сообщение v04bvs »

Voice писал(а):
19.08.2007 17:21
Тоесть? Мне нужно настроить например sendmail у себя на машине?


Запустите mutt, нажмите m, напишите письмо (на тот же адрес), отправьте его, и проверьте - пришло или нет. Если не пришло, значит да, надо настроить например sendmail.
Спасибо сказали:
Shade
Сообщения: 40
ОС: ArchLinux

Re: послать письмо

Сообщение Shade »

Повторюсь, Net::SMTP -- то, что спасет отца русской демократии ;-)
Это простенький клиент SMTP протокола. Отправляет письма через любой доступный SMTP-сервер.
man 3 Net::SMTP
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: послать письмо

Сообщение Voice »

Спасибо, Shade.
Но есть малеенькая проблемка. Какой сервер иму дать, а то при на строке

Код: Выделить всё

my $smtp = Net::SMTP->new($server);

оно говорит что не может подключится.
Я пробовал mail.google.com.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: послать письмо

Сообщение DaemonTux »

Voice писал(а):
21.08.2007 00:41
Спасибо, Shade.
Но есть малеенькая проблемка. Какой сервер иму дать, а то при на строке

Код: Выделить всё

my $smtp = Net::SMTP->new($server);

оно говорит что не может подключится.
Я пробовал mail.google.com.

А если вот этот адрес попробывать

Код: Выделить всё

smtp.gmail.com
Vladivostok Linux User Group
Спасибо сказали:
Shade
Сообщения: 40
ОС: ArchLinux

Re: послать письмо

Сообщение Shade »

Естественно, нужно указывать SMTP-сервер. Кроме того, гугловский наверняка требует имя пользователя и пароль. Поэтому прежде чем отправлять, нужно будет вызвать auth().
Я отправлял через smtp.yandex.ru, так там еще требовали, чтобы адрес отправителя, т.е. "From: " в заголовке письма (см. RFC 2821), был их же, т.е. @yandex.ru / @ya.ru и т.д.

P.S.
А писал я вообще на питоне. Там есть аналогичный модуль.
Скрипт:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: послать письмо

Сообщение Voice »

Shade, спасибо большое за исходник.
Теперь все понятно.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали: