Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > При отправке почты скриптом тело письма пустое


Автор: flider 5.2.2008, 15:33
Добрый день!
Не подскажет ли многоуважаемый ALL в чем засада.
Есть скрипт, отправляющий почту, четно списанный с одного из местных примеров:

  
Код

  my $from = '[email protected]';
  my $to = '[email protected]';
  my $server = 'server.ru';
  my $message = "текст письма";
  my $smtp = Net::SMTP->new($server,
              Hello => "$server",
              Timeout => 10,
              Debug => 1
             ) or die "Error :(";
  $smtp->mail($from);
  $smtp->to($to);
  $smtp->data;
  $smtp->datasend('To: '.$to."\n");
  $smtp->datasend('Subject: anketa\n\n');
  $smtp->datasend("$message\n");
  $smtp->dataend;
  $smtp->quit;


Все работает, письмо приходит, но есть указанный в сабжекте трабл - текст для тела письма стабильно оказывается в поле Subject. 
Как бы это вылечить, а?

Гран мерси.

Автор: onsql 5.2.2008, 15:56
Может там надо \r\n ?

Автор: KSURi 5.2.2008, 17:47
Цитата(flider @  5.2.2008,  15:33 Найти цитируемый пост)
$smtp->datasend('Subject: anketa\n\n');

Попробуйте заменить одинарные кавычки на двойные.

Автор: flider 5.2.2008, 18:01
Цитата(KSURi @ 5.2.2008,  17:47)
Цитата(flider @  5.2.2008,  15:33 Найти цитируемый пост)
$smtp->datasend('Subject: anketa\n\n');

Попробуйте заменить одинарные кавычки на двойные.

Большое спасибо - помогло. Если бы кто еще механизм объяснил smile)

Автор: KSURi 5.2.2008, 19:59
Цитата(flider @ 5.2.2008,  18:01)
Цитата(KSURi @ 5.2.2008,  17:47)
Цитата(flider @  5.2.2008,  15:33 Найти цитируемый пост)
$smtp->datasend('Subject: anketa\n\n');

Попробуйте заменить одинарные кавычки на двойные.

Большое спасибо - помогло. Если бы кто еще механизм объяснил smile)

В одинарных ковычках \n воспринимается буквально, а не как символ переноса строки

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)