Автор Тема: Feeds 2 SMS  (Прочетена 8554 пъти)

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #30 -: Jul 13, 2010, 19:46 »
Мерси neter. Сега пробвах на ubuntu-то в къщи. Конфигурирах exim-a точно както си казал и при:
Код:
echo 'Tova e proba' | mail -a 'From: a@b' 359xxxxxxxxx@sms.mtel.net
Получих sms. Сега само остава утре на сървъра да пробвам и да видя дали ще стане и скрипта, който ми написа ще го пускам в действие. Нарочно отлагах до сега заради по-малкото символи, който се изпращат от моя скрипт (този с редовете на vstoykov). Не знам защо, обаче си мисля, че утре ще имам проблеми :). Колкото за достъпа - те хората само ще ми го дадът, пък и за сега не се натягам много понеже има какво още да прочета и да науча.
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #31 -: Jul 14, 2010, 09:02 »
Добре, значи на Дебиана не работи. Къде да търся проблема, при доставчика ми на интернет ли?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #32 -: Jul 14, 2010, 11:49 »
Ако пощенският сървър на фирмата, за който спомена, се намира зад или във въпросния рутер, който ви рутира мрежата там, значи не е от доставчика, тъй като тогава и пощенският сървър щеше да има проблем. Ако картинката е такава, значи има някаква филтрация в рутера, така че трябва да приказваш по въпроса с достъпимащите. Ако все пак не ти дадат позволение или има някакъв друг непреодолим проблем, ще се наложи да използваш външен SMTP сървър, за да пращаш писмата. Вариантите в този случай са два:
1. Ползваш скрипта на vstoykov, като намираме някакъв начин да окастрим още sms-а от излишната информация;
2. Настройваш exim да изпраща пощата чрез smarthost, при което exim на практика ще действа като SMTP клиент. Препоръчвам ти този вариант, тъй като той ще ти позволи да си ползваш директно mail командата, както щеше да можеш да правиш, ако можеше да пращаш писмата без smarthost, ще си скъсиш кода в скрипта, тъй като няма да се налага да ползваш външните SMTP класове, няма да си играеш и с орязване на тези класове за скъсяване на sms-а, а и ще имаш готова система за пращане на писма, така че няма да се налага да правиш нищо и да добавяш допълнителен код в бъдещи скриптове, в които ще ти се наложи да пращаш писмо.
Конфигурирането на пращане на писмата със smarthost става по следния начин:
1. В "dpkg-reconfigure exim4-config" задаваш "пощата се изпраща чрез smarthost; няма локална поща";
2. За адреси, на които да се чака за SMTP връзки, отново си задаваш "127.0.0.1 ; ::1"
3. В прозореца, където ще ти поиска IP адрес или име на smarthost-а въвеждаш пощенския сървър, който ще използваш за пращане на писма. Можеш да сложиш и порт, ако този пощенски сървър слуша на порт, различен от 25;
4. Ако пощенският сървър, който ще ползваш за smarthost, изисква автентикация, във файла /etc/exim4/passwd.client добавяш следния ред:
Цитат
име_или_IP_на_smarthost:потребител:парола
След което рестартираш exim и писмата с mail командата ще започнат да се пращат с exim през smarthost-а.
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #33 -: Jul 15, 2010, 09:25 »
Ц!!! Нещо бъркам. Това за 127.0.0.1; ::1 го пиша, и за SMTP сървър пиша gmail-ския, т.е.: smtp.gmail.com::587 ама останалите полета празни ли да ги оставя понеже пита за разни System Mail Name, Other destination for witch mail is accepted, Visible domain name for local users, и накрая има дали да split-не някакви неща, и още един въпрос на който да отговоря с да или не (Keep number of DNS)?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #34 -: Jul 15, 2010, 09:42 »
МАШАЛA :D. Стана, само, само че по друг начин. Значи първо си избирам:
Код:
mail sent by SMARTHOST; received via SMTP or fetchmail
После:
Код:
System Mail Name: e.g. company.com
Type IP Adresses to listen on for incoming SMTP connections: 127.0.0.1
Следващите две ги оставям празни. После пиша адреса на gmail:
Код:
Type Machine handling outgoing mail for this host (smarthost): smtp.gmail.com::587
И на последните две избирам NO. След това си избирам mailbox и YES за Split... (не ми се чете в момента точно как беше).
После отваряме: /etc/exim4/passwd.client и добавяме:
Код:
gmail-smtp.l.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
*.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
smtp.gmail.com:yourAccountName@gmail.com:y0uRpaSsw0RD

И накрая:
Код:
vi /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost
Като тука преди реда с hosts_try_auth... добавяме порта на gmail, т.е. port=587.
След това пускаме един:
Код:
# update-exim4.conf
и
Код:
/etc/init.d/exim4 restart
И започнах да получавам sms с командата:
Код:
echo 'Tova e proba' | mail -a 'From: a@b' 359xxxxxxxxx@sms.mtel.net

Много ми е нескопосан поста, ама в момента малко бързам, после като имам 5 мин. ще го оправя ;).

ПС; Като цяло гледах от този урок тука: http://wiki.debian.org/GmailAndExim4 обаче не съм добавял последния ред:
Код:
# echo 'YOUR-USER-NAME@LocalHost: yourAccountName@gmail.com' >> /etc/exim4/email-addresses
Ами мисля, че това беше. Ако възникне нещо пак ще пиша. @neter благодаря още един път :).
« Последна редакция: Jul 15, 2010, 10:41 от backtolife »
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #35 -: Jul 15, 2010, 10:45 »
Така, ето го проблема. Аднах скрипта в crontab-a. Cron-а го пуска през 10 мин. И аз през 10 мин получавам еднакви смс-и. И още нещо много странно, когато почнах да пускам скрипта ръчно ми даваше това:
Код:
eclipse:/home/eclipse/rss2sms# php sms.php
sh: -c: line 0: unexpected EOF while looking for matching `"'
sh: -c: line 1: syntax error: unexpected end of file
eclipse:/home/eclipse/rss2sms# vim sms.php
eclipse:/home/eclipse/rss2sms# php sms.php
sh: i: command not found
eclipse:/home/eclipse/rss2sms# php sms.php
sh: -c: line 0: unexpected EOF while looking for matching `"'
sh: -c: line 1: syntax error: unexpected end of file
eclipse:/home/eclipse/rss2sms# php sms.php
sh: i: command not found
eclipse:/home/eclipse/rss2sms# php sms.php
sh: -c: line 0: unexpected EOF while looking for matching `"'
sh: -c: line 1: syntax error: unexpected end of file

Всяко второ пускане ми дава че sh не може да намери i, а всяко първо, че имало грешка на line 0, 1 ???

ПС: И явно заради това, че ползвам smarthost всички смс-и за From нямат S@D, както съм го задал в променливата $smsfrom, а имат username-a ми за smtp-то на gmail, т.е. email-la-mi@gmail.com.
« Последна редакция: Jul 15, 2010, 10:47 от backtolife »
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #36 -: Jul 15, 2010, 12:18 »
Виж само какво получих в gmail пощата ми:
Цитат
Delivery to the following recipient failed permanently:

     root@companycom

Technical details of permanent failure:
DNS Error: Domain name not found

----- Original message -----

Received: by 10.204.27.20 with SMTP id g20mr3533560bkc.114.1279184712687;
        Thu, 15 Jul 2010 02:05:12 -0700 (PDT)
Return-Path: <email.address@gmail.com>
Received: from eclipse (office.cosmosltd.com [***])
        by mx.google.com with ESMTPS id g11sm5023030bkw.10.2010.07.15.02.05.11
        (version=TLSv1/SSLv3 cipher=RC4-MD5);
        Thu, 15 Jul 2010 02:05:12 -0700 (PDT)
Received: from root by eclipse with local (Exim 4.69)
        (envelope-from <root@companycom>)
        id 1OZJfw-0000Oq-Le
        for root@companycom; Thu, 15 Jul 2010 11:20:20 +0300
From: Cron Daemon <email.address@gmail.com>
To: root@companycom
Subject: Cron <root@eclipse> php /home/eclipse/rss2sms/sms.php
Content-Type: text/plain; charset=UTF-8
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
Message-Id: <E1OZJfw-0000Oq-Le@eclipse>
Date: Thu, 15 Jul 2010 11:20:20 +0300

sh: i: command not found
« Последна редакция: Mar 11, 2011, 17:42 от backtolife »
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #37 -: Jul 15, 2010, 13:40 »
Пусни ми така изписания скрипт в прикачен файл, да видим да не е станала някаква грешка при копирането на кода от тук. Иначе да, нормално е Gmail да слага за From твоя email адрес, вместо този, който подаваш с mail командата - презаписват хедъри, за да не се изпращат глупости. По-добра работа за smarthost ще ти върши пощенският сървър на вашата фирма, ако имаш акаунт в него, и ако администрацията няма против да пращаш такива писма през него.

P.S.: Всъщност, не съм абсолютно сигурен, че в случая Gmail ти е презаписал From хедъра, щом изглежда по този начин:
Цитат
From: Cron Daemon <email.address@gmail.com>
Да не си оставил променливата $smsfrom празна? И защо има Subject хедър в това писмо, което показваш? В mail командата, която дадох, няма Subject хедър.
« Последна редакция: Jul 15, 2010, 13:49 от neter »
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #38 -: Jul 15, 2010, 13:50 »
Само телефона съм си изтрил :). Не. че Марчето го няма де, ама все пак :)
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #39 -: Jul 15, 2010, 17:05 »
Ахааа... имал съм две бъгчета. Едното е, че проверявах дали съм достигнал последния нов запис от feed-а, сравнявайки съдържанието на променливите $content и $lastentry, но докато съдържанието на $lastentry е със стрипнати тагове, това на $content не е. Това е водело до изпращане на писма за всички записи, вместо само за новите. Сега се проверяват двете стрипнати стойности.
Другият бъг е, че подавах текста на sms-а директно с echo към mail командата, и така е ставал проблем при наличието на разни специални знаци, а от там и грешките, които си виждал в конзолата. Сега текстът на sms-а първо се escape-ва за bash, след което се подава към mail командата, с което и този проблем се решава.
Редактирал съм скрипта от първа страница, но ти го давам поправен и тук като прикачен файл.
« Последна редакция: Jul 16, 2010, 11:07 от neter »
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #40 -: Jul 15, 2010, 18:42 »
Между другото, докато си правих тестове със скрипта, се флууднах едно хубаво с около 200 sms-а наведнъж, от които получих малко над 100 (може би 110; не съм сигурен, понеже в началото тръгнах да ги трия и не помня колко затрих, преди да реша да изчакам да се получат всички, а всички 200 успяха тогава да излязат от опашката), и сега при опит да си пратя sms, получавам красивият отговор:
Цитат
452 Recipient limit exceeded. Try again later
Досега не бях проверявал има ли такъв лимит, знаех само за забележките, които се правят към сървъра-изпращач. Така че е хубаво човек да си има едно наум за този лимит от около 110 sms-а, след което ще получи отказ за (предполагам) няколко часа, а може и денонощие (все пак пише да се опита по-късно, а не, че е перманентно блокиран).
От друга страна, раздвоен съм по въпроса за присъствието на този лимит, понеже притежателят на телефона е с вързани ръце в една такава ситуация. Но пък ако от съпорта могат да реагират адекватно при различни случаи на флуудване, си е начин да се поспестят малко ресурси... Не знам, както и да е :)
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #41 -: Jul 15, 2010, 20:42 »
Да не флудя излишно темата, ама и без това тия дни ходя с по един час по-рано на работа, за да тестрам именно този скрипт. Утре като отида ще пусна новата версия :D която ми закачи в предния пост и ще гледам резултати :). А иначе и аз днеска се префлудих със смс-и. По едно време чак ми писна :):D
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #42 -: Jul 15, 2010, 22:21 »
Когато тестваш, тествай с email адрес, вместо с gsm-а, докато станеш доволен от резултата, че да не стават грешки. Аз още съм блокиран и се чудя дали да не звънна на съпорта, току виж се съгласили да ме отблокират по-бързо. Но, откъм From хедъра, с Gmail си е така - пренаписват хедъра, така че, ако ползваш Gmail акаунт за пращане на писмата, за изпращач ще ти се изписва дългият email адрес, което ще ти харчи още малко символи. Потърси си друг пощенски сървър, ако искаш да спестиш тези символи.
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #43 -: Jul 16, 2010, 08:59 »
Цитат
452 Recipient limit exceeded. Try again later

Това къде се вижда, смисъл къде го получаваш това съобщение. Скрипта в момента не ми праща нищо. Изтрих от cachefolder-a един от файловере и го пуснах на ново, но не получих нито едно съобщение. Иначе си пратих смс от сайта на mtel и го получих, т.е. мисля, че мога да получавам смс-и.

ПС: Ниет, явно и мен са ме блокирали понеже:
Код:
echo 'Tova e proba' | mail -a 'From: a@b' 35988xxxxxxx@sms.mtel.net
не прави нищо. И сега какво правим? И аз ли да им звъня???
« Последна редакция: Jul 16, 2010, 09:01 от backtolife »
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Feeds 2 SMS
« Отговор #44 -: Jul 16, 2010, 09:26 »
Виждам го в опашката на пощенския сървър, от който се опитвам да пратя sms-а. Ти няма как да го видиш, тъй като твоите съобщения стоят в опашката на Gmail сървъра.
Точно в момента им звънях по проблема, тъй като все още съм блокиран. Един там ми каза, че ще направи нещо и, като приключим разговора, 1-2 минути по-късно да си рестартирам телефона. Не се сещам каква връзка може да има нулирането на лимита и рестартирането на телефона (този лимит едва ли се кешира в апарата ми, а новото свързване към мрежата да задейства някакви системи там... би трябвало лимитът да се чете динамично), та ми се струва, че не ме е разбрал за какво говоря и се опитвам да се свържа пак, но не вдигат. Да не им звъниш и ти сега и да са заети с теб? На тълпи с блокирани mail2sms услуги ще станем :D
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Feeds
Предложения за подобрения на сайта
astronom 1 1712 Последна публикация Nov 13, 2005, 12:23
от july