Diskuze: PHPMailer email odeslán, ale nic nepřišlo
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 5 zpráv z 5.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Php mailer nepouzivam.
Obecne, pro odesilani mailu je treba nastavit spravne hlavicky, from, reply, to.
Ve tvem kodu mas v reply nejaky nesmysl a do hlavicek nenastavujes php mail (ale
to mozna dela ten mailer).
// https://www.php.net/manual/en/function.mail.php
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
// a jine examply...
?>
Tez je dobre pohlidat si kodovani a sifrovani hlavicky a body pro utf8.To mozna take dela za tebe ten phpmail. Nebo taky nee. Ale nejdriv si zkus verzi bez kodovani, zda ti prijde, viz predchozi kod. S tim, ze do from a reply das tu tvoji mailovou adresu. A jeste bych si nechal kopii odeslat na svuj ucet (do hlavicky pridat Cc, jako carbon copy)
<?php
$headers = 'Content-Type: text/plain; charset=utf-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: base64' . "\r\n";
$subject = '=?UTF-8?B?' . base64_encode('Test email with German Umlauts öäüß') . '?=';
$recipient = '=?UTF-8?B?' . base64_encode('Margret Müller') . '?= <recipient@domain.com>';
$message = base64_encode('This email contains German Umlauts öäüß.');
//nebo
<?php
function mail_utf8($to, $from_user, $from_email,
$subject = '(No subject)', $message = '')
{
$from_user = "=?UTF-8?B?".base64_encode($from_user)."?=";
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
$headers = "From: $from_user <$from_email>\r\n".
"MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html; charset=UTF-8" . "\r\n";
return mail($to, $subject, $message, $headers);
}
?>
?>
Jinak, funguje to tak, ze na serveru ti bezi php a bezi ti mail sluzby. Php prikazem mail() predava data sluzbe mail. Pokud ti na serveru zadna nebezi, php vypise ok, mail jsem predal, ale mail se neodesle. Pokud to zkousis na localhostu, nemas u serveru mozna aktivovany mail. Pokud na webu, mozna tam take ne. Nicmene, je mozne odeslani mailu presmerovat pres cizi sluzbu, treba google.
// https://www.php.net/manual/en/function.mail.php
See Also
mb_send_mail() - Send encoded mail
imap_mail() - Send an email message
» PEAR::Mail
» PEAR::Mail_Mime
A používáš tam neověřený Free (lite) nebo ověřený Free tarif? Jestli neověřený, tak můj tip je, že podle srovnání jejich tarifů nemá podporu funkce mail(). V té knihovně to nemusí nutně vyhodit chybu, protože oni to mohou řešit i tak, že ty zprávy pošlou interně do /dev/null, aby na tom zbytečně nepadaly špatně navržené webové aplikace.
Nejsem si úplně jistý, jestli mám to, nebo to. Každopádně to po mě žádné ověření nechce, takže předpokládám, že mám asi ověřený.
Viz nápověda na webu.
Při založení nového účtu jsou všechny prostory s doménou automaticky založeny ve variantě Neověřený Free (Lite) a to až do ověření účtu. Při zakládání účtu na Endora.cz ve variantě Neověřený Free (Lite) ověřujeme pouze e-mailovou adresu.
Zobrazeno 5 zpráv z 5.