-
1. Data: 2014-08-23 11:30:35
Temat: Raspberry Pi - wysyłanie maila z notyfikacją
Od: Atlantis <m...@w...pl>
Przepraszam za pytanie na granicy OT, ale zastanawia mnie pewna kwestia:
Jak w najprostszy sposób wysłać maila z jakaś informacją z poziomu
programu napisanego w C, działającego pod Raspberry Pi? W internecie
znajduję mnóstwo przykładów dotyczyących Pythona albo PHP, pod C już
trochę trudniej.
Do głowy przychodzi mi kilka rozwiązań, m.in.:
1) Napisanie własnej procedury, implementującej protokół SMTP i
wykorzystującej socket TCP.
2) Skorzystanie z jakiegoś klienta e-mail obsługiwanego z poziomu
konsoli i wywoływanie go przez system().
A może dałoby się to zrobić bardziej elegancko? Jakaś gotowa biblioteka,
udostępniająca odpowiednią funkcję? Albo program, który udostępniałby w
systemie odpowiedni plik, do którego mógłbym pisać wysyłając wiadomość?
-
2. Data: 2014-08-23 12:00:16
Temat: Re: Raspberry Pi - wysyłanie maila z notyfikacją
Od: AlexY <a...@i...pl>
Użytkownik Atlantis napisał:
> Przepraszam za pytanie na granicy OT, ale zastanawia mnie pewna kwestia:
>
> Jak w najprostszy sposób wysłać maila z jakaś informacją z poziomu
> programu napisanego w C, działającego pod Raspberry Pi? W internecie
> znajduję mnóstwo przykładów dotyczyących Pythona albo PHP, pod C już
> trochę trudniej.
>
> Do głowy przychodzi mi kilka rozwiązań, m.in.:
> 1) Napisanie własnej procedury, implementującej protokół SMTP i
> wykorzystującej socket TCP.
> 2) Skorzystanie z jakiegoś klienta e-mail obsługiwanego z poziomu
> konsoli i wywoływanie go przez system().
>
> A może dałoby się to zrobić bardziej elegancko? Jakaś gotowa biblioteka,
> udostępniająca odpowiednią funkcję? Albo program, który udostępniałby w
> systemie odpowiedni plik, do którego mógłbym pisać wysyłając wiadomość?
Nie znam C, czy w tym języku nie da się wywołać programu z niezbędnymi
parametrami?
--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html
-
3. Data: 2014-08-23 13:26:03
Temat: Re: Raspberry Pi - wysyłanie maila z notyfikacją
Od: Michał Lankosz <m...@t...pl>
W dniu 2014-08-23 12:00, AlexY pisze:
> Użytkownik Atlantis napisał:
>> Przepraszam za pytanie na granicy OT, ale zastanawia mnie pewna kwestia:
>>
>> Jak w najprostszy sposób wysłać maila z jakaś informacją z poziomu
>> programu napisanego w C, działającego pod Raspberry Pi? W internecie
>> znajduję mnóstwo przykładów dotyczyących Pythona albo PHP, pod C już
>> trochę trudniej.
>>
>> Do głowy przychodzi mi kilka rozwiązań, m.in.:
>> 1) Napisanie własnej procedury, implementującej protokół SMTP i
>> wykorzystującej socket TCP.
>> 2) Skorzystanie z jakiegoś klienta e-mail obsługiwanego z poziomu
>> konsoli i wywoływanie go przez system().
>>
>> A może dałoby się to zrobić bardziej elegancko? Jakaś gotowa biblioteka,
>> udostępniająca odpowiednią funkcję? Albo program, który udostępniałby w
>> systemie odpowiedni plik, do którego mógłbym pisać wysyłając wiadomość?
>
> Nie znam C, czy w tym języku nie da się wywołać programu z niezbędnymi
> parametrami?
>
Właśnie podał sposób - przez system(). Ale Atlantisowi nie chodzi o
wywoływanie zewnętrznych programów.
Nie mam doświadczenia praktycznego, ale w zebranych materiałach do RPi
mam: libESMTP i libquickmail.
--
Michał
-
4. Data: 2014-08-23 13:30:30
Temat: Re: Raspberry Pi - wysyłanie maila z notyfikacją
Od: Marek <f...@f...com>
On Sat, 23 Aug 2014 11:30:35 +0200, Atlantis <m...@w...pl>
wrote:
> Jak w najprostszy sposób wysłać maila z jakaś informacją z poziomu
> programu napisanego w C, działającego pod Raspberry Pi? W internecie
A po co C? nc (netcat) nie może być?
--
Marek
-
5. Data: 2014-08-23 15:10:35
Temat: Re: Raspberry Pi - wysyłanie maila z notyfikacją
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan Michał Lankosz napisał:
>>> Jak w najprostszy sposób wysłać maila z jakaś informacją z poziomu
>>> programu napisanego w C, działającego pod Raspberry Pi? W internecie
>>> znajduję mnóstwo przykładów dotyczyących Pythona albo PHP, pod C już
>>> trochę trudniej.
>>>
>>> Do głowy przychodzi mi kilka rozwiązań, m.in.:
>>> 1) Napisanie własnej procedury, implementującej protokół SMTP i
>>> wykorzystującej socket TCP.
>>> 2) Skorzystanie z jakiegoś klienta e-mail obsługiwanego z poziomu
>>> konsoli i wywoływanie go przez system().
>>>
>>> A może dałoby się to zrobić bardziej elegancko? Jakaś gotowa biblioteka,
>>> udostępniająca odpowiednią funkcję? Albo program, który udostępniałby w
>>> systemie odpowiedni plik, do którego mógłbym pisać wysyłając wiadomość?
>>
>> Nie znam C, czy w tym języku nie da się wywołać programu z niezbędnymi
>> parametrami?
>
> Właśnie podał sposób - przez system(). Ale Atlantisowi nie chodzi o
> wywoływanie zewnętrznych programów.
Te zewnętrzne programy, to nie w czym innym napisane, jak w C. Jak ktoś
się uprze, to sobie może uwewnętrznić.
> Nie mam doświadczenia praktycznego, ale w zebranych materiałach do RPi
> mam: libESMTP i libquickmail.
Ale tu w ogóle nic do roboty nie ma -- wystarczy przygotować treść maila
z nagłówkami i wysłać to na port 25 swojego serwera. Ktoś już zauważył,
że dobrze do tego się nadaje netcat (nc) -- też napisany w C, więc każdy
może sobie zobaczyć, jak to robi.
Jak sie nie chce zgłębiać RFC, można zajrzeć na przykład tu (pierwsze
trafienie google) http://www.linuxjournal.com/content/sending-email-ne
tcat
--
Jarek
-
6. Data: 2014-08-23 19:14:25
Temat: Re: Raspberry Pi - wysyłanie maila z notyfikacją
Od: AlexY <a...@i...pl>
Użytkownik Michał Lankosz napisał:
> W dniu 2014-08-23 12:00, AlexY pisze:
>> Użytkownik Atlantis napisał:
[..]
>>> A może dałoby się to zrobić bardziej elegancko? Jakaś gotowa biblioteka,
>>> udostępniająca odpowiednią funkcję? Albo program, który udostępniałby w
>>> systemie odpowiedni plik, do którego mógłbym pisać wysyłając wiadomość?
>> Nie znam C, czy w tym języku nie da się wywołać programu z niezbędnymi
>> parametrami?
> Właśnie podał sposób - przez system(). Ale Atlantisowi nie chodzi o
> wywoływanie zewnętrznych programów.
No to musi wyważać otwarte drzwi czyli jak Jarek napisał wstawić program
pocztowy w swój program, IMHO bez sensu.
[..]
--
AlexY
http://faq.enter.net.pl/simple-polish.html
http://www.pg.gda.pl/~agatek/netq.html
-
7. Data: 2014-08-24 07:56:44
Temat: Re: Raspberry Pi - wysyłanie maila z notyfikacją
Od: Atlantis <m...@w...pl>
W dniu 2014-08-23 15:10, Jarosław Sokołowski pisze:
> Ale tu w ogóle nic do roboty nie ma -- wystarczy przygotować treść maila
> z nagłówkami i wysłać to na port 25 swojego serwera. Ktoś już zauważył,
> że dobrze do tego się nadaje netcat (nc) -- też napisany w C, więc każdy
> może sobie zobaczyć, jak to robi.
Hmm... Wystarczy po prostu wysłać kolejne linie jednym ciągiem, bez
sprawdzania odpowiedzi serwera?
No i czy istnieją jeszcze jakieś publiczne serwery SMTP, które
umożliwiałyby wysłanie wiadomości bez autoryzacji?
-
8. Data: 2014-08-24 10:37:39
Temat: Re: Raspberry Pi - wysyłanie maila z notyfikacją
Od: Marek <f...@f...com>
On Sun, 24 Aug 2014 07:56:44 +0200, Atlantis <m...@w...pl>
wrote:
> Hmm... Wystarczy po prostu wysłać kolejne linie jednym ciągiem, bez
> sprawdzania odpowiedzi serwera?
> No i czy istnieją jeszcze jakieś publiczne serwery SMTP, które
> umożliwiałyby wysłanie wiadomości bez autoryzacji?
Ale chwila, chcesz wysyłać maile jawnie (znany serwer, oficjalny
dostęp) czy chcesz spamować szukając open relay'e? Bo w pierwszym
przypadku 99% wszystko zadziała a w drugim trzeba weryfikować
komunikację.
Analizując output netcata i kody odp. smtp możesz stwierdzić czy
wystąpił jakiś problem.
Protokoły komunikacyjne aplikacji stworzone za czasów wczesnego
internetu są human readable & friendly, wystarczy umiejętność
czytania :), przez co są łatwe implementacyjnie.
--
Marek
-
9. Data: 2014-08-24 10:41:06
Temat: Re: Raspberry Pi - wysyłanie maila z notyfikacją
Od: Marek <f...@f...com>
On Sun, 24 Aug 2014 07:56:44 +0200, Atlantis <m...@w...pl>
wrote:
> No i czy istnieją jeszcze jakieś publiczne serwery SMTP, które
> umożliwiałyby wysłanie wiadomości bez autoryzacji?
Większość umożliwia PLAIN lub LOGIN, wygeneruj sobie string auth
(albo podejrzyj tcpdumpem komunikację lnormalnego klienta by ten
string wyciągnąć) i dodaj do skryptu podczas komunikacji z serwerem.
--
Marek
-
10. Data: 2014-08-24 12:25:03
Temat: Re: Raspberry Pi - wysyłanie maila z notyfikacją
Od: Marek <f...@f...com>
On Sat, 23 Aug 2014 13:30:30 +0200, Marek <f...@f...com> wrote:
> A po co C? nc (netcat) nie może być?
Trochę napisałem na wyrost, nie do końca może to działać z każdym
serwerem. Jeśli na serwerze jest zaimplementowana silna ochrona
antyspamowa np. greeting pause to od klienta wymaga się precyzyjnej
(rfc strict) komunikacji, nie pamiętam czy netcatem da się
zaimplementować oczekiwanie na odp., wysyłanie sesji "ciurkiem" może
nie zadziałać.
--
Marek