Levélküldés SMTP-n keresztül PHPMailer használattal
Egyedi weboldal
Mivel szervereinken tiltva van a mail() függvény használata, ezért a weboldalakról csak SMTP hitelesítéssel lehetséges leveleket küldeni.
Egyedi programkód esetén javasoljuk a PHPMailer használatát.
Először töltsd le a https://github.com/PHPMailer/PHPMailer
Itt az “src” könyvtárban található állmonyokat kell letöltened.
A letöltött állományokat fel kell másolni a tárhelyünkre, és azokban a php állományokban, ahol használni szeretnénk, be kell tölteni
require
PHPMailer.php
SMTP.php
Töltsd fel a tárhelyedre az PHPMailer-master mappát és nevezd át PHPMailer-re.
Hozz létre egy pl. mailer.php nevű fájlt, amibe a következő tartalmat illeszd be:
Példa:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'Exception.php';
require 'PHPMailer.php';
require 'SMTP.php';
$mail = new PHPMailer();
$mail->IsSMTP(); // SMTP-n keresztuli kuldes
$mail->Host = 'mail2.alfabyte.hu'; // SMTP szerverek
$mail->SMTPAuth = true; //Szükség van hitelesítésre, vagy sem, ha igen true, ha nem false
$mail->Port = 587; //Az SMTP szolgáltatás port száma
$mail->SMTPSecure = 'tls';
$mail->SMTPOptions = array(
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
);
$mail->Username = 'példa@példa.hu'; // SMTP felhasználo
$mail->Password = 'példa(jelszó)'; // SMTP jelszo
$mail->From = 'példa@példa.hu'; // Felado e-mail cime
$mail->FromName = 'Név'; // Felado neve
$mail->AddAddress('példa@példa.hu', 'Név'); // Cimzett es neve
$mail->AddAddress('példa@példa.hu'); // Meg egy cimzett
$mail->AddReplyTo('példa@példa.hu', 'Név'); // Valaszlevel ide
$mail->WordWrap = 80; // Sortores allitasa
$mail->AddAttachment('/példa/példa.pdf'); // Csatolas
$mail->AddAttachment('példa.pdf', 'new.pdf'); // Csatolas mas neven
$mail->IsHTML(true); // Kuldes HTML-kent
$mail->Subject = 'Példa'; // A level targya
$mail->Body = 'Példa<b>HTML body</b>'; // A level tartalma
$mail->AltBody = 'Sok Példa'; // A level szoveges tartalma
if (!$mail->Send()) {
echo 'A levél nem került elküldésre';
echo 'A felmerült hiba: ' . $mail->ErrorInfo;
exit;
}
echo 'A levelet sikeresen kiküldtük';
?>
Wordpress weboldal
A népszerű WordPress esetében az SMTP Mailert javasoljuk bővítményt
https://hu.wordpress.org/plugins/smtp-mailer/
A beállításhoz használjuk a példa rész alatt található információkat.