Prijímanie pošty, ktorú odosiela Joomla

David Ursiny
08. úno 2016 20:08 #125702
Zdravím,
V global conf. máme nastavené SMTP mailera, ktorý rozosiela maily - tie iniciuje formulár, resp. petícia na webstránke. Toto nám funguje. Návštevník obdrží po zadaní svojich údajov mail v ktorom je link, na ten klikne a tak potvrdí svoju identitu. Lenže potrebovali by sme nejak tieto odoslané maily archivovať, lenže na mailserveri nie sú.
Nie som si istý, či tomu dobre rozumiem, ale toto ide mimo mailový server poskytovaný hostingovým providerom?
Momentálne som skúšal upraviť /libraries/joomla/mail/mail.php na riadku 204 - pridať recipienta a tak tieto maily získavať.
Ale netuším ako a či je to vôbec vhodná metóda.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
08. úno 2016 21:28 #125706
Pokud máte nastavené SMTP, tak maily odcházejí přes to SMTP, nepíšete zda je to SMTP u Vašeho providera nebo jiné.
Některá SMTP umí uchovávat odeslané emaily v odeslané poště (tuším že např. GMail).

Úprava jádra Joomly vhodná není, to si raději upravte ten formulář co používáte. Jaký vůbec používáte?
Poděkovali: David Ursiny

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od David Ursiny
10. úno 2016 16:41 - 10. úno 2016 16:43 #125731
Ďakujem,
Áno smtp server spravuje provider.
Ale to s tým gmailom stojí minimálne za vyskúšanie. Musím však providera požiadať o whitelist - odblokovanie pre špecifickú adresu gmailu.
Nejde tak celkom o formulár, ale je to petícia Cdpetitions
Až neskôr som pochopil, že treba upravovať plugin, nie jadro CMS.
Netuším však, ako zistiť, ktorý script iniciuje to odosielanie, v php sa moc nevyznám, je tam aj more javascriptu.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od David Ursiny
10. úno 2016 23:47 #125739
Konkrétne teda ide o tento kód:
if (
                    $this->sendMail(
                        $from,
                        $fromname,
                        $recipient,
                        $subject,
                        $body,
                    ) !== true
                ) {
                    throw new phpmailerException(JText::_('PLG_CONTENT_CDPETITIONS_EMAIL_SEND_FAILED'), 500);
                }
				if (
                    $this->sendMail(
                        $from,
                        $fromname,
                        "VlastnyMail@gmail.com",
                        $subject,
                        $body
                    ) !== true
                ) {
                    throw new phpmailerException(JText::_('PLG_CONTENT_CDPETITIONS_EMAIL_SEND_FAILED'), 500);
                }
Takto to funguje (duplikovaný upravený kus kódu), posiela sa tá istá správa na obe adresy. Ak by tú prvú správu bolo možné nastaviť ako BCC, tak je to vybavené. (PHP na serveri Version 5.6.5)

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.