A tárhelyeknél gyakori jelenség, hogy a php mail() függvény biztonsági okokból le van tiltva. Ilyenkor a következő módon tud emailt küldeni:
A legkönnyebben a phpmailer nevű csomag használatával oldható meg, mely rugalmas felületet biztosít, és rengeteg hasznos beállítási lehetőséget tartalmaz.
Letöltés: https://github.com/PHPMailer/PHPMailer
Innen tulajdonképpen csak 3 db fontos állomány kell:
-
- class.phpmailer.php
- class.smtp.php
- PHPMailerAutoload.php
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
segítségével.
A mobilxnél a levelek küldését SMTP-n keresztül lehet megoldani. Ehhez létre kell hoznunk egy email postafiókot az alábbi módon:
- Jelentkezzen be a www.mobilxcloud.hu oldalon!
- A bal oldali menüpontban válassza az ‘E-mail postafiókok’ menüpontot!
- A megjelenő listájából válassza ki a megfelelő domaint. (Pl.: sajat-domain.hu)!
- Kattintson az új postafiók gombra, majd töltse ki az adatokat (felhasználónév, jelszó; pl.: postafiok@sajat-domain.hu és secret)!
- Kész is vagyunk, ezek az adatok szükségesek.
Példakód:
<?php require 'PHPMailerAutoload.php'; $mail = new PHPMailer(); $mail->IsSMTP(); // SMTP-n keresztuli kuldes $mail->Host = 'smtp.mobilx.hu'; // SMTP szerverek (ezt cseréljük szükség esetén) $mail->SMTPAuth = true; // SMTP $mail->Username = 'postafiok@sajat-domain.hu'; // SMTP felhasználo $mail->Password = 'secret'; // SMTP jelszo $mail->From = 'postafiok@sajat-domain.hu'; // Felado e-mail cime $mail->FromName = 'Vezeteknev Keresztnev'; // Felado neve $mail->AddAddress('josh@site.com', 'Josh Adams'); // Cimzett es neve $mail->AddAddress('ellen@site.com'); // Meg egy cimzett $mail->AddReplyTo('info@sajat-domain.hu', 'Information'); // Valaszlevel ide $mail->WordWrap = 80; // Sortores allitasa $mail->AddAttachment('/var/tmp/file.tar.gz'); // Csatolas $mail->AddAttachment('/tmp/image.jpg', 'new.jpg'); // Csatolas mas neven $mail->IsHTML(true); // Kuldes HTML-kent $mail->Subject = 'Here is the subject'; // A level targya $mail->Body = 'This is the <b>HTML body</b>'; // A level tartalma $mail->AltBody = 'This is the text-only body'; // 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'; ?>