Amazon SES – posílání emailů přes amazon

ondrapech
Člen | 49
+
0
-

Ahoj, mám dotaz k nette mail
Chtěl bych v projektu nějak posílat emaily přes Amazon.
Chtěl bych si vytvořit nějaký AmazonMailer a ten by měl posílat emaily, zajímá mě jestli můžu použít normálně třídu Mail pro vytvoření emailu a celý ten email pak nacpat do té Amazon třídy co posílá emialy?
A taky, pokud jste to někdo řešil. Tak jestli se to dá řešit nějak elegantně globálně v celém projektu?
Díky za rady a tipy :)

David Matějka
Moderator | 6445
+
0
-

ahoj, nevim, jestli nekdo resil pro amazon ses, ale koukni na componette, kde se muzes pro inspiraci kouknout na mailery, ktere se napojuji na ruzna api (treba mailgun atd)

Sitole
Člen | 39
+
+1
-

Ahoj,
já jsem při implementaci vycházel z https://github.com/…nette-mailer.
Toto řešení jsem si trošku upravil, abych mohl maily odesílat asynchronně.

Marek Bartoš
Nette Blogger | 1274
+
0
-

@Sitole Máš to někde publikované? Bylo by to super ;)

Editoval Mabar (2. 9. 2019 13:35)

Felix
Nette Core | 1245
+
+1
-

Mabar napsal(a):

@Sitole Máš to někde publikované? Bylo by to super ;)

AWS mailer by se skvele hodil do nasi (https://contributte.org/…te/mail.html) sbirky maileru.

Sitole
Člen | 39
+
0
-

Zatím jsem to nikam nepublikoval, ale určitě by to šlo.

ondrapech
Člen | 49
+
0
-

Sitole napsal(a):

Ahoj,
já jsem při implementaci vycházel z https://github.com/…nette-mailer.
Toto řešení jsem si trošku upravil, abych mohl maily odesílat asynchronně.

Zkusil jsem vycházet z tvojí třídy. Je to pěkné řešení. Jenom při použití mi Aws vyhazuje vyjímku:
„Aws\Exception\CredentialsException – Cannot read credentials from …“, nesetkal jsi se s tím? Já si myslím, že bude nějaká chyba u mě v konfiguraci nebo tak něco.

$mailer = new SesMailer(
        [
            'credentials' => [
                'key' => "XXXXXXXXXXXXXXXX",
                'secret' => "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            ],
            'region' => 'eu-west-1',
            'version' => 'latest'
        ]
   );

$mailer->send($mail);
Sitole
Člen | 39
+
0
-

Já jsem si osobně v DI kontejneru vytvořil službu vracející AWS sdk connection a na ní si už jen volám sesClient, sqsClient. Ta tvoje chybová hláška dle mého není celá, což by se hodilo. Podle toho v dokumentaci najdeme čím to bude.

Nějaký náčrt našeho maileru mám zde: https://gist.github.com/…bc20db8cc179

Editoval Sitole (4. 9. 2019 19:30)

ondrapech
Člen | 49
+
0
-

Sitole napsal(a):

Já jsem si osobně v DI kontejneru vytvořil službu vracející AWS sdk connection a na ní si už jen volám sesClient, sqsClient. Ta tvoje chybová hláška dle mého není celá, což by se hodilo. Podle toho v dokumentaci najdeme čím to bude.

Nějaký náčrt našeho maileru mám zde: https://gist.github.com/…bc20db8cc179

TA hláška celá je „Cannot read credentials from C:\Users\pecho/.aws/credentials“ v případě Win. AWSko hledá credentials v souboru na serveru místo toho aby vzal ty co se mu předávají v konstruktoru. Nechápu proč.? Nemusí se to nějak nastavit?

Editoval ondrapech (5. 9. 2019 9:09)

ondrapech
Člen | 49
+
0
-

Stačilo smazat ‚profile‘ ⇒ ‚default‘ a funguje :) Jinak díky. Co jsi poslal bylo přesně to co jsem potřeboval vidět :)

ondrapech
Člen | 49
+
0
-

Ještě mě napadá jedna věc které úplně nerozumím. Možná je to na nové vlákno ale souvisí to. Chtěl bych key a secret (…) načítat do maileru z config.local.neon. Ideálně přes DI, že bych si tem mailer definoval jako službu v config.neon ale nevím jak se pak dostat k těm parametrům v config.local.neon. Jde to?