Ako programovo odoslat email priamo bez SMTP hostingu?

hknmtt

Ako programovo odoslat email priamo bez SMTP hostingu?
« kdy: 06. 09. 2022, 09:01:31 »
Chcel by som spravit mikrosluzbu ktora bude odosielat emaily. Chcem vsak emaily odosielat priamo bez SMTP serveru tretej strany. Inak povedane, mam normale domenu a na nej email na normalne pouzitie ale chcem posielat mejly bez toho aby som sa musel napojit na smtp mojho poskytovatela emailu ale ich skratka poslal priamo po kabli adresatovi.

Zaujima ma ako na to a ako spravne osetrit DKIM, SPF...

Inak povedane chcem nieco ako Amazon SES, Mailgun, Sendgrid... ale v mikro verzii.

Predpokladam ze podla domeny si ziskam MX zaznamy kam sa napojit a pri odoslani cez smtp protokol len spravne podpisat spravy s dkim/spf klucmi a to je asi vsetko?
« Poslední změna: 06. 09. 2022, 09:05:24 od hknmtt »


Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #1 kdy: 06. 09. 2022, 09:25:37 »
Predpokladam ze podla domeny si ziskam MX zaznamy kam sa napojit a pri odoslani cez smtp protokol len spravne podpisat spravy s dkim/spf klucmi a to je asi vsetko?

V zásadě to tak je. Ostatně MTA sloužící jen k odesílání pošty v zásadě nic moc jiného není. Je ale nutně třeba mít minimálně nastaven reverzní záznam pro IP adresu, ze které hodláte kontaktovat cizí MTA vedoucí na tu doménu. Navíc pokud půjde o IP adresu nějakého běžného ISP, počítejte s tím, že mnoho serverů (včetně třeba Gmailu) bude vaše zprávy i přes to rutinně odmítat a časem se nejspíše dostanete do blacklistů, ze kterých je pak celkem dřina nechat se zase vyškrtnout.

Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #2 kdy: 06. 09. 2022, 09:31:20 »
Programovat celý MTA určitě nechcete. Nainstalujte si na server nějaký MTA, třeba Postfix, a e-maily předávejte k odesílání jemu. Postará se o frontu zpráv a opakované odesílání, správné zjištění cílového serveru, napojíte do něj DKIM… Jenom s provozem toho MTA si užijete spoustu „zábavy“, natož kdybyste to celé chtěl programovat.

Jinak provozovat vlastní MTA je dneska hrozná otrava, protože kde kdo nastavuje šílená antispam pravidla, velké hráče jako GMail, Outlok či v ČR Seznam dá na allow list a tváří se, jak mu to funguje, protože přece zablokuje spoustu spamu a od velkých serverů e-maily dostává. Viz třeba tohle čerstvé vlákno na Twitteru: https://twitter.com/cfenollosa/status/1566484145446027265

hknmtt

Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #3 kdy: 06. 09. 2022, 09:41:34 »
Predpokladam ze podla domeny si ziskam MX zaznamy kam sa napojit a pri odoslani cez smtp protokol len spravne podpisat spravy s dkim/spf klucmi a to je asi vsetko?

V zásadě to tak je. Ostatně MTA sloužící jen k odesílání pošty v zásadě nic moc jiného není. Je ale nutně třeba mít minimálně nastaven reverzní záznam pro IP adresu, ze které hodláte kontaktovat cizí MTA vedoucí na tu doménu. Navíc pokud půjde o IP adresu nějakého běžného ISP, počítejte s tím, že mnoho serverů (včetně třeba Gmailu) bude vaše zprávy i přes to rutinně odmítat a časem se nejspíše dostanete do blacklistů, ze kterých je pak celkem dřina nechat se zase vyškrtnout.

Nevznikne mi tam potom nejaky problem s tym ze cudzie servery si budu mysliet podla DNS ze moja mikrosluzba na odisielanie funguje aj ako prijemca posty?

ja.

  • ****
  • 316
    • Zobrazit profil
    • E-mail
Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #4 kdy: 06. 09. 2022, 09:53:16 »
Predpokladam ze podla domeny si ziskam MX zaznamy kam sa napojit a pri odoslani cez smtp protokol len spravne podpisat spravy s dkim/spf klucmi a to je asi vsetko?

V zásadě to tak je. Ostatně MTA sloužící jen k odesílání pošty v zásadě nic moc jiného není. Je ale nutně třeba mít minimálně nastaven reverzní záznam pro IP adresu, ze které hodláte kontaktovat cizí MTA vedoucí na tu doménu. Navíc pokud půjde o IP adresu nějakého běžného ISP, počítejte s tím, že mnoho serverů (včetně třeba Gmailu) bude vaše zprávy i přes to rutinně odmítat a časem se nejspíše dostanete do blacklistů, ze kterých je pak celkem dřina nechat se zase vyškrtnout.

Nevznikne mi tam potom nejaky problem s tym ze cudzie servery si budu mysliet podla DNS ze moja mikrosluzba na odisielanie funguje aj ako prijemca posty?

Na príjem slúžia len tie, ktoré sú v MX zázname. Tam ho nedávajte.

Ale stále potrebujete mať reverzný záznam na ip adresu, mať ho povolený v SPF, vyriešiť DKIM... a ako predrečníci písali, stále to môže byť potichu zahodené.


Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #5 kdy: 06. 09. 2022, 10:23:20 »
Jinak provozovat vlastní MTA je dneska hrozná otrava, protože kde kdo nastavuje šílená antispam pravidla [...]

Pokud ho provozujete jen pro sebe -- tím myslím skutečně ve smyslu jednoho či dvou lidí, problém to není, tam je problém spíš v tom, že svět se vyvíjí a je třeba držet krok. Teď nedávno od nás třeba Gmail začal z nějakého nepochopitelného důvodu odmítat některé forwardované zprávy přes IPv6. Proč, to neví nikdo a to málo jeho dokumentace mlčí jako zařezané; neudává žádný konkrétní důvod. Vyřešeno vypnutím IPv6 v Postfixu. Ale to je přesně ono: přišlo IPv6 a člověk to musí zase řešit.

Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #6 kdy: 06. 09. 2022, 10:34:50 »
Programovat celý MTA určitě nechcete.

Ano, on taky programovat celé MTA nechce. Vždyť to píše. Napsat skript, který prostě resolvne MX záznamy a použije SMTP protokol, případně zprávu podepíše, je celkem triviální. To má do "celého MTA" daleko asi jako bicykl do parní lokomotivy.

Viz třeba tohle čerstvé vlákno na Twitteru: https://twitter.com/cfenollosa/status/1566484145446027265

Zrovna tohle vlákno je efektně jižansky hysterické a teatrální nemluvě o tom, že působí značně grafomanicky. O co méně skutečného pochopení a obsahu, o to více řevu. Pán měl evidentně někde doma pod stolem na veřejné IP adrese nějakého domácího ISP MTA a diví se, že mu definitivně přestal fungovat. Jenomže to není oligopolem, ale tím, že z podobných adres přichází spamu neskutečné množství, ne-li většina. Většinou jsou to botnety.

czipis

  • ***
  • 228
    • Zobrazit profil
    • E-mail
Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #7 kdy: 06. 09. 2022, 10:47:27 »
Programovat celý MTA určitě nechcete.

Ano, on taky programovat celé MTA nechce. Vždyť to píše. Napsat skript, který prostě resolvne MX záznamy a použije SMTP protokol, případně zprávu podepíše, je celkem triviální. To má do "celého MTA" daleko asi jako bicykl do parní lokomotivy.


jenomze musite resit i napr takove stavy, ze cilovy mailserver ma nastaveny greylisting, takze vasi zpravu neprijme a vy musite resit nejakou retry logiku.
At nevymysli kolo a pouzije existujici MTA, ktere tohle vsechno umi.

Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #8 kdy: 06. 09. 2022, 10:55:24 »
jenomze musite resit i napr takove stavy, ze cilovy mailserver ma nastaveny greylisting, takze vasi zpravu neprijme a vy musite resit nejakou retry logiku. At nevymysli kolo a pouzije existujici MTA, ktere tohle vsechno umi.

Samozřejmě, že použít třeba ten Postfix je podstatně snažší. Já tím chtěl říci hlavně to, že napsat něco podobného žádná magie není a rozhodně to není celé MTA. Greylisting je, mimochodem, proti spamu značně efektivní technika; jen ten sám o sobě eliminoval tak 80 % toho, co mi chodilo.

McFly

  • *****
  • 564
    • Zobrazit profil
    • E-mail
Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #9 kdy: 06. 09. 2022, 11:27:30 »
Před dvěma dekádami jsem si napsal mailer v PHP i v DELPHI jako krásnou malou aplikaci, která nebyla závislá na SMTP serveru ISP a rozesílala poštu sama, tj. zjišťovala si MX servery, na ty se napojila a zkoušela poštu odeslat. Tehdy to fungovalo. Napsal jsem si v DELPHI i vlastní MailBomber... :D Dneska by to moc nefungovalo, když vezmu v potaz třeba takový greylisting - s nějakou frontou e-mailů k pozdějšímu rozeslání to tehdy nepočítalo ani omylem.

Osobně bych už nevymýšlel kolo.

Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #10 kdy: 06. 09. 2022, 12:31:58 »
Že je to hrozná otrava píšete všude, já na to napíšu, že to není problém a téměř na to nesáhnu a vy mi v diskusi vysvětlíte, že jsem si jen nevěšiml, že mi nechodí pošta.

Programovat celý MTA určitě nechcete. Nainstalujte si na server nějaký MTA, třeba Postfix, a e-maily předávejte k odesílání jemu. Postará se o frontu zpráv a opakované odesílání, správné zjištění cílového serveru, napojíte do něj DKIM… Jenom s provozem toho MTA si užijete spoustu „zábavy“, natož kdybyste to celé chtěl programovat.

Jinak provozovat vlastní MTA je dneska hrozná otrava, protože kde kdo nastavuje šílená antispam pravidla, velké hráče jako GMail, Outlok či v ČR Seznam dá na allow list a tváří se, jak mu to funguje, protože přece zablokuje spoustu spamu a od velkých serverů e-maily dostává. Viz třeba tohle čerstvé vlákno na Twitteru: https://twitter.com/cfenollosa/status/1566484145446027265

Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #11 kdy: 06. 09. 2022, 13:26:29 »
[...]
Jinak provozovat vlastní MTA je dneska hrozná otrava, protože kde kdo nastavuje šílená antispam pravidla, velké hráče jako GMail, Outlok či v ČR Seznam dá na allow list a tváří se, jak mu to funguje, protože přece zablokuje spoustu spamu a od velkých serverů e-maily dostává. Viz třeba tohle čerstvé vlákno na Twitteru: https://twitter.com/cfenollosa/status/1566484145446027265

Že je to hrozná otrava píšete všude, já na to napíšu, že to není problém a téměř na to nesáhnu a vy mi v diskusi vysvětlíte, že jsem si jen nevěšiml, že mi nechodí pošta.

Jo, pan Jirsák na tohle téma podobné nesmysly píše všem. Taky mi to jednou vysvětloval, že já vlastně o vlastních mailech nic nevím a nechodí mi pošta. Jsem rád, že nejsem sám. Dnes to kupodivu vynechal. Chtělo by to pochvalu.

Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #12 kdy: 06. 09. 2022, 13:56:01 »
Dneska je otrava i jezdit autem, samé příkazy, zákazy, omezení, kamiony... Do toho ještě vlastnit auto a starat se o něj... Radši jezdit taxíkem, nic neřešit a jen platit, ne?

Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #13 kdy: 06. 09. 2022, 13:56:58 »
[...]
Jinak provozovat vlastní MTA je dneska hrozná otrava, protože kde kdo nastavuje šílená antispam pravidla, velké hráče jako GMail, Outlok či v ČR Seznam dá na allow list a tváří se, jak mu to funguje, protože přece zablokuje spoustu spamu a od velkých serverů e-maily dostává. Viz třeba tohle čerstvé vlákno na Twitteru: https://twitter.com/cfenollosa/status/1566484145446027265

Že je to hrozná otrava píšete všude, já na to napíšu, že to není problém a téměř na to nesáhnu a vy mi v diskusi vysvětlíte, že jsem si jen nevěšiml, že mi nechodí pošta.

Jo, pan Jirsák na tohle téma podobné nesmysly píše všem. Taky mi to jednou vysvětloval, že já vlastně o vlastních mailech nic nevím a nechodí mi pošta. Jsem rád, že nejsem sám. Dnes to kupodivu vynechal. Chtělo by to pochvalu.
Vidím, že vložit do komentáře odkaz na detailnější informace je perfektní způsob, jak před vámi něco skrýt. Akorát kdybyste ten dotaz rozklikli, tak sem prosím nevyjmenovávejte všechny, kdo píšou ty nesmysly. Abyste nenarazili na limity tohoto fóra.

K představě o tom, jak vám pošta funguje, myslím úplně stačí vědět to, že si pletete příchozí a odchozí poštu.

Re:Ako programovo odoslat email priamo bez SMTP hostingu?
« Odpověď #14 kdy: 06. 09. 2022, 16:02:43 »
Vidím, že vložit do komentáře odkaz na detailnější informace je perfektní způsob, jak před vámi něco skrýt. Akorát kdybyste ten dotaz rozklikli, tak sem prosím nevyjmenovávejte všechny, kdo píšou ty nesmysly.

Poněkud připomínáte Sibylu. O čemže to přesně mluvíte?

K představě o tom, jak vám pošta funguje, myslím úplně stačí vědět to, že si pletete příchozí a odchozí poštu.

Vidíte. A přitom jsem vůbec nikde nepsal ani o odchozí, ani o příchozí poště, ale prostě o poště. A co se nestalo? Hned jste si vymyslel to, co se vám zrovna hodí a vzápětí mi to podsunul. Ale to už je taky klasika ;)