Jak odeslat Nette e-mail s DKIM?

zachrdlapetr
Člen | 49
+
0
-

Řešil prosím někdo odesílání emailů z Nette s podepisováním pomocí komponenty DkimSigner? Nerozumím principu využití této komponenty. Dovnitř vstupuje strukturovaná Message a výstupem je zpráva v raw formátu obsahující DKIM. Jak tuto zprávu dostanu na poštovní server? Děkuji.

zachrdlapetr
Člen | 49
+
0
-

MajklNajt napsal(a):

https://doc.nette.org/cs/mail#…

určitě ne. jakýkoliv mailer potřebuje formát Nette\Mail\Message a Nette\Mail\DkimSigner vrací string.

MajklNajt
Člen | 470
+
+1
-

Aha, ty to podpisuješ ináč, preto nejdeš natívne?

https://github.com/…mail/pull/51

zachrdlapetr
Člen | 49
+
+3
-

MajklNajt napsal(a):

Aha, ty to podpisuješ ináč, preto nejdeš natívne?

https://github.com/…mail/pull/51

Perfekt. Funguje. Děkuji za nasměrování. Té metody setSigner jsem si vůbec nevšiml.

Přidám jen pro ostatní.

$options['domain'] = 'domena.cz';
$options['selector'] = 'dkim';
$options['privateKey'] = file_get_contents('../dkim/dkim.key');

$mail = new Nette\Mail\Message;
$mail->setFrom('neco@domena.cz')
        ->addTo('neco@domena.cz')
        ->setSubject('Předmět zprávy')
        ->setHtmlBody("Dobrý den,\nposíláme email.");

$sender = new Nette\Mail\SendmailMailer();
$sender->setSigner(new Nette\Mail\DkimSigner($options));
$sender->send($mail);

Editoval zachrdlapetr (16. 1. 2020 10:55)

David Grudl
Nette Core | 8082
+
+5
-

Přidám do docky.

David Grudl
Nette Core | 8082
+
+2
-

Nejsem expert, můžete prosím zkontrolovat, že v tom článku nejsou nějaké blbosti? https://blog.nette.org/…-pomoci-dkim

zachrdlapetr
Člen | 49
+
0
-

David Grudl napsal(a):

Nejsem expert, můžete prosím zkontrolovat, že v tom článku nejsou nějaké blbosti? https://blog.nette.org/…-pomoci-dkim

Myslím, že je to srozumitelné. Jediné na čem se lidi můžou zaseknout už nesouvisí s Nette, a to je jak je nastaven samotný poštovní server.

Některé mají zakázané posílat z jiného FROM než k username účtu (reject_authenticated_sender_login_mismatch), ke kterému se přihlašují a některé přepisují podle toho z jakého FROM je posíláno. Takže např. pošlu FROM ze standa@domena1.cz, ale přihlašuji se k poštovnímu účtu franta@domena2.cz a i přesto, že v DkimSigner vynutím podpis k doméně domena1.cz, mám správný klíč, mám to v DNS, tak to server přepíše.