PHP pošta() funkce je jednoduchá, snadno použitelná a funguje skvěle, ale je také extrémně nepružná. Pokud chcete určit skript, který má skript použít, nebo použít ověřování SMTP, máte smůlu. Chcete-li překonat tato omezení a odeslat e-mail ze svého skriptu PHP pomocí ověřování SMTP, budete se muset obrátit na třídu PHP, jako je PHPmailer nebo balíček PEAR Mail.
Odesílání e-mailů pomocí funkce PHP Mail
Když používáte PHP pošta() funkce, můžete poslat e-mail přímo z vašeho webového serveru, nikoli z poštovního serveru. Pokud máte poštovní server prostřednictvím svého webového hostitele nebo dokonce poštovní server s jiným hostitelem, je obvykle lepší místo toho posílat poštu. Problém je v tom, že PHP pošta() funkce neposkytuje žádný vestavěný způsob odesílání pošty přes SMTP. Pokud chcete tuto funkci otevřít, budete si muset nainstalovat další třídu PHP. Zde jsou některé možnosti, které fungují:
- PHPmailer
- SwiftMailer
- Zend_Mail
- XpertMailer
- Hrušková pošta
Ukážeme vám, jak používat PEAR Mail, ale můžete použít jakoukoli třídu, která podporuje SMTP.
Jak používat PEAR k odesílání pošty přes SMTP
-
Ujistěte se, že je vaše doména namířena na záznamy Mail Exchange (MX) hostitele vašeho poštovního serveru, a poznamenejte si název svého poštovního serveru. Může to být například mail.yourdomain.net nebo smtp.yourdomain.net.
-
Zkontrolujte, zda je PEAR Mail na vašem poštovním serveru již nainstalován.
-
Pokud PEAR Mail není nainstalován, požádejte svého hostitele webové pošty o konkrétní pokyny k jeho instalaci.
-
Po instalaci aplikace PEAR Mail upravte jeden z ukázkových souborů PHP v následujících částech tak, aby vyhovoval vašim potřebám.
Příklad PEAR Mail PHP skript pro poštu SMTP
Pokud chcete, můžete si vytvořit svůj vlastní skript od začátku nebo upravit následující příklad podle svých představ. Nezapomeňte do hostitelské proměnné zadat název svého webového poštovního serveru a do polí pro uživatelské jméno a heslo použijte své přihlašovací údaje pro svého hostitele webové pošty. php
require_once „Mail.php“;
$ from = „Jméno odesílatele
$ to = „Jméno příjemce
$ subject = „Předmět řádku zde:“;
$ body = „libovolná zpráva, kterou chcete“;
$ host = „yourmailhost.com“;
$ username = „vaše uživatelské jméno nebo e-mail“;
$ heslo = „vaše heslo“;
$ headers = array (‚From‘ => $ from,
‚To‘ => $ to,
‚Subject‘ => $ subject);
$ smtp = Mail :: factory (‚smtp‘,
array (‚host‘ => $ host,
‚auth‘ => true,
‚username‘ => $ username,
‚password‘ => $ heslo));
$ mail = $ smtp-> odeslat ($ do, $ záhlaví, $ tělo);
if (PEAR :: isError ($ mail)) {
echo („
„. $ mail-> getMessage (). „
„);
} else {
echo („
Zpráva úspěšně odeslána!
„);
}
?>
Ukázkový skript PEAR Mail PHP pro ověřování SMTP a šifrování SSL
Pokud chcete použít ověřování SMTP a šifrování SSL, budete muset v předchozím příkladu provést několik úprav. Budete muset nasměrovat hostitelskou proměnnou na váš poštovní server SSL a také zadat číslo portu, jako je 25, 465, 587, 2525 nebo 8025. Pokud nemůžete přijít na to, ke kterému portu chcete získat další informace, obraťte se na svého hostitele webové pošty. použití. php
require_once „Mail.php“;
$ from = „Jméno odesílatele
$ to = „Jméno příjemce
$ subject = „Předmět řádku zde:“;
$ body = „libovolná zpráva, kterou chcete“;
$ host = „ssl: //yourmailhost.com“;
$ port = „587“;
$ username = „vaše uživatelské jméno nebo e-mail“;
$ heslo = „vaše heslo“;
$ headers = array (‚From‘ => $ from,
‚To‘ => $ to,
‚Subject‘ => $ subject);
$ smtp = Mail :: factory (‚smtp‘,
array (‚host‘ => $ host,
‚port‘ => $ port,
‚auth‘ => true,
‚username‘ => $ username,
‚password‘ => $ heslo));
$ mail = $ smtp-> odeslat ($ do, $ záhlaví, $ tělo);
if (PEAR :: isError ($ mail)) {
echo („
„. $ mail-> getMessage (). „
„);
} else {
echo („
Zpráva úspěšně odeslána!
„);
}
?>