Test odesílání e-mailů pomocí PHP a Telnetu

Čas od času je potřeba, aby naše webová aplikace uměla posílat posílat e-maily, nejčastěji informačního nebo potvrzovacího charakteru. Bohužel se také občas stane, že nám e-maily nejsou doručovány. V takovém případě je nutné zjistit, zda příslušný server vůbec e-maily odesílá. To můžeme provést několika různými způsoby.

Testovací PHP skript pro odeslání e-mailu

Pro PHP programátora bude asi nejjednodušším řešením napsat si jednoduchý skript volající funkci mail(), které předá jen ty parametry, které jsou nezbytné k odeslání a doručení e-mailu. Takový PHP skript může vypadat například takto:

<?php
 
ini_set('display_errors', 1); 
error_reporting(E_ALL);
 
$mail    = 'marek@sudak.cz'; // adresat zpravy
$subject = 'Testovaci e-mail';
$message = 'Toto je testovaci e-mail.';
$from    = 'marek@sudak.cz'; // odesilatel zpravy
$headers = "From: {$from}";
 
if (mail($mail, $subject, $message, $headers)) {
	echo "Testovaci e-mail uspesne odeslan na adresu {$mail}.";
} else {
	echo 'Testovaci e-mail se nepodarilo odeslat.';
}
 
?>

Test odeslání e-mailu pomocí telnetu

Jinak se k celé záležitosti postaví IT administrátor nebo jiný uživatel, který PHP neovládá. Pro toho bude pravděpodobně jednodušší pokusit se odeslat e-mail pomocí telnetu. Postup jednotlivých korků přehledně zobrazuje následující tabulka:

Příkaz uživatele Popis příkazu Odpověď serveru
telnet mail.example.com 25 připojení na server na portu 25 (výchozí port pro SMTP) identifikace serveru + úvodní zpráva (několik řádků ve formátu 220- text)
HELO mareksudak.cz zahájení komunikacem, uvedení vaší domény 250 OK + název serveru, ke kterému jste připojeni
MAIL FROM:<marek@sudak.cz> vložení informace o odesílateli 250 OK
RCPT TO:<marek@sudak.cz> vložení informace o adresátovi 250 OK
DATA informování serveru, že bude následovat samotná zpráva START MAIL INPUT, END WITH "." ON A LINE BY ITSELF
Toto je testovací mail.<ENTER>.<ENTER> vložení textu zprávy, ukončení zadávání vložením tečky na samostatný řádek 250 OK
QUIT ukončení komunikace se serverem zpráva potvrzující uzvaření komunikace

Poslat nový komentář

Obsah tohoto pole je soukromý a nebude veřejně zobrazen.
  • Webové a e-mailové adresy jsou automaticky převedeny na odkazy.
  • Povolené HTML značky: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Řádky a odstavce se zalomí automaticky.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. Beside the tag style "<foo>" it is also possible to use "[foo]".

Více informací o možnostech formátování