Автор Тема: отправка почты  (Прочитано 16390 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
отправка почты
« : 01 Марта 2010, 11:10:36 »
если отправлять почту стандартным способом

 open (MAIL, "|/usr/sbin/sendmail -t -f");
 print MAIL "$text";

при этом если юзер вводит сообщение где в строке только 1 точка
Цитировать
Здрасте
.
перезвоните

я понимаю что это бредово выглядит, но все же.
по почте доходит только
Цитировать
Здрасте
.


как это исправить?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
отправка почты
« Ответ #1 : 02 Марта 2010, 09:30:55 »
Здрасте
..
перезвоните

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
отправка почты
« Ответ #2 : 02 Марта 2010, 09:31:39 »
да и вообще, как оно работает?

# sendmail -t -f
sendmail: option requires an argument -- f
#

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
отправка почты
« Ответ #3 : 02 Марта 2010, 22:00:30 »
Цитировать
arto:
# sendmail -t -f
sendmail: option requires an argument -- f
#

там мыло добавлять надо
sendmail -t -f $mymail
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
отправка почты
« Ответ #4 : 03 Марта 2010, 09:20:30 »
open (MAIL, "|/usr/sbin/sendmail -t -f");

и где там "мыло"?

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
отправка почты
« Ответ #5 : 03 Марта 2010, 10:39:25 »
упусил что не загаживать лишними переменными код.
как окозалось есть те кто это не понял.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
отправка почты
« Ответ #6 : 03 Марта 2010, 10:40:37 »
по существу будут ответы?
или проверять посторчно на наличие точки?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
отправка почты
« Ответ #7 : 03 Марта 2010, 11:21:06 »
а чем вам не понравился первый ответ?
и что означает "построчно" ?

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
отправка почты
« Ответ #8 : 03 Марта 2010, 11:24:49 »
можно использовать -i, но это, afaik, непереносимо

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
отправка почты
« Ответ #9 : 03 Марта 2010, 13:38:55 »
Цитировать
arto:
а чем вам не понравился первый ответ?

сообщение набираю не я, а юзер.
вот юзеру хочеться пиать только 1 точку в строке.
построчно - это так
foreach (split /\\n/, $text) { print $_; }
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
отправка почты
« Ответ #10 : 03 Марта 2010, 13:58:53 »
зачем так сложно?

s#^\\.$#..#gm

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
отправка почты
« Ответ #11 : 03 Марта 2010, 15:09:06 »
Цитировать
arto:
s#^\\.$#..#gm

действительно, не подумал.
но все же, это единственный способ?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
отправка почты
« Ответ #12 : 03 Марта 2010, 15:34:59 »
Цитировать
arto:
можно использовать -i, но это, afaik, непереносимо

Оффлайн APL

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 344
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.aerozone.ru
отправка почты
« Ответ #13 : 05 Марта 2010, 15:35:03 »
open MAIL, \'|/usr/sbin/sendmail -t\' || die \'error sending message\';
print MAIL "From: from\\@mail.ru\\n";
print MAIL "To: to\\@mail.ru\\n";
print MAIL "Content-Type: text\\/plain\\n";
print MAIL "Subject: Тема письма\\n\\n";
print MAIL "Само письмо (никаких проблем с точками у меня никогда не было)\\n\\n";
close MAIL;

Оффлайн arto

  • Ветеран
  • *****
  • Сообщений: 699
  • +0/-0
  • 2
    • Просмотр профиля
отправка почты
« Ответ #14 : 05 Марта 2010, 16:11:22 »
а и попробуйте!
и cat /dev/null | sendmail -d0.1 покажите

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28