Hirdetés
- Óra vagy karperec? Egészségügyi mindenes!
- Google Pixel 9 Pro XL - hét szűk esztendő
- Fotók, videók mobillal
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Samsung Galaxy S23 Ultra - non plus ultra
- Xiaomi 17 Ultra - jó az optikája
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Telekom mobilszolgáltatások
- Xiaomi 15 - kicsi telefon nagy energiával
- Yettel topik
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Próbáld ki akkor a PHPMailerrel, töltsd le, majd másold a megfelelő helyre, amit majd beállítasz a $phpmailer_path változóban. Tehát ezt változtasd meg annak a helyére, ahova pakolod a fájlt!

Aztán másold be az alábbi függvényt annak a fájlnak az elejére, ahol a levélküldést szeretnéd csinálni (egy részt kikommenteztem benne, ami neked most valszeg nem kell, meg nálam definiálva van egy-két konstans egy konfigfájlban, de bennehagytam, hátha mégis szükség lesz SMTP-küldésre később). Függvénybe tettem, hogy ne kelljen mindenhol külön megírni:
/**
* send_email() - E-mail küldése (localhoston SMTP-vel)
* Kivétel: phpmailerException() levélküldési hiba esetén
* Exception(), ha nem létezik a fájl vagy nem elérhető
*
* @param string $to
* @param string $toName
* @param string $from
* @param string $fromName
* @param string $subject
* @param string $message
* @return none
*/
function send_email( $to, $toName, $from, $fromName, $subject, $message ) {
$phpmailer_path = $_SERVER['DOCUMENT_ROOT'].'/PHP/classes/class.phpmailer.php';
if(!file_exists($phpmailer_path)){
throw new Exception('Nem elérhető a PHPMailer osztály!');
}
//PHPMailer osztályt include-oljuk
require_once($phpmailer_path);
// példányosítjuk a PHPMailer osztályt, és jelezzük, hogy szeretnénk,
// ha kivételeket dobna (ne írja ki egyből a képernyőre a hibaüzeneteket)
$mail=new PHPMailer( true );
// karakterkészlet
$mail->CharSet = 'utf-8';
// feladó címe
$mail->From = $from;
// feladó neve
$mail->FromName = $fromName;
// címzett; címzett neve
$mail->AddAddress( $to, $toName );
// tárgy
$mail->Subject= $subject;
// levéltörzs
$basedir = $_SERVER['DOCUMENT_ROOT']; //pl. esetleges csatolandó képek miatt (így stimmel az elérési út)
$mail->MsgHTML($message, $basedir);
/*
//csak saját gépen küldjük SMTP-vel
if(IS_LOCALHOST){
$mail->Mailer = 'smtp';
$mail->SMTPAuth = 'true';
$mail->Host = SMTP_HOST;
$mail->Username = SMTP_USER;
$mail->Password = SMTP_PASS;
}
*/
// a levél elküldése
$mail->Send();
}Majd amikor magát a levélküldést szeretnéd végrehajtani, a sima mail() függvényed és a mostaniak HELYETT ezt tedd be:
$to = 'le****@vipmail.hu';
$toName = 'lesaux';
$from = 'nemtom@lepesfalvi.hu';
$fromName = 'Valaki János';
$subject = 'Új látogató érkezett';
$host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
$visitor_IP = $_SERVER['REMOTE_ADDR'];
$message = "Új vendég nyitotta meg az oldalt!\nIP-je: $visitor_IP\nHostja: $host";
// a levél elküldése
try { //kivétel, ha nem sikerült az elküldés...
send_email( $to, $toName, $from, $fromName, $subject, nl2br($message) );
} catch (Exception $e) {
echo ' Hiba a levélküldés során (log_errors()): '.$e->getMessage();
}Persze a hibaüzenetet nem muszáj echo-zni, ha naplózol, de azt már rádbízom.

Remélem így már működni fog! Ne felejtsd el a $phpmailer_path változót beállítani arra a helyre, ahova Te pakolod a class.phpmailer.php fájlt!
(Bár persze nem garancia az, hogy most a PHPMailer osztályt használod a klasszikus mail() függvény helyett, hogy most már elfogadja a leveledet a szerver, amire küldöd.
De legalább most már PHPMailer osztállyal küldesz levelet, amúgy is ajánlott inkább ilyen vagy ehhez hasonló levelezőosztállyal küldeni.)
Új hozzászólás Aktív témák
- sziku69: Szólánc.
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Battlefield 6
- Debrecen és környéke adok-veszek-beszélgetek
- Proxmox VE
- Gran Turismo
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- BestBuy topik
- sziku69: Fűzzük össze a szavakat :)
- alza vélemények - tapasztalatok
- További aktív témák...
- Eladó egy Pixel 7 a Dobozzal tokkal
- MSI Thin GF63 - 15,6"FHD 144Hz - i5-12450H - 16GB - 512GB - Win11 - RTX 4050 - Garancia - MAGYAR
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- OnePlus Open 512GB Voyager Black Karcmentes állapot 16GB RAM 6 hónap garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


De legalább most már PHPMailer osztállyal küldesz levelet, amúgy is ajánlott inkább ilyen vagy ehhez hasonló levelezőosztállyal küldeni.)
