Kezdőoldal » Számítástechnika » Programozás » Van olyan oldal, ahol megtanul...

Van olyan oldal, ahol megtanulhatnám a PHPMailer használtát?

Figyelt kérdés
Sziasztok, a PHPMailer-rel kapcsolatban szeretnék egy kis segítséget kérni. Korábban még nem használtam, de szeretném megtanulni. Ha valaki tud egy jó oldalt, ahol normálisan le van írva, azt megköszönném!
2021. márc. 24. 09:33
1 2
 11/19 anonim ***** válasza:

"Viszont egyszerűbb..."


Én még működő mail() függvényt nem láttam. De próbáld ki, hátha nálad menni fog.

2021. márc. 26. 13:30
Hasznos számodra ez a válasz?
 12/19 A kérdező kommentje:
Igazad volt, tényleg nem jó ez a mail() függvény sem. Megpróbálnám azzal is amit küldtél. Az egyszerűség kedvéért ssl nélkül (tehát azt kihagyom). A tiédben nincs megadva, hogy konkrétan hová küldje az email-t, azt én egy AddAddress-el meg tudom csinálni. A tiédben a beírt email-re küldi, nem?
2021. márc. 27. 11:03
 13/19 A kérdező kommentje:
Ha ide beküldöm a kódot, akkor megnéznéd nekem?
2021. márc. 27. 18:05
 14/19 anonim ***** válasza:
Meg.
2021. márc. 27. 18:21
Hasznos számodra ez a válasz?
 15/19 A kérdező kommentje:

Ez lenne, amire én gondoltam kiegészítve a tiéddel: [link]

Belinkelem a nethely oldalát is: [link]


A végén a a trágyat és a szöveget nem írtam át, mert ehhez lenne még kérdésem: Ha nekem van egy html kódom, amiben van mondjuk két címke és egy gomb a küldéshez (submit), akkor ha a form action-nél a a fenti php-t hívom, akkor annak a két cinmmének a tartalmát küldi el?

2021. márc. 27. 20:31
 16/19 anonim ***** válasza:

"A tiédben nincs megadva, hogy konkrétan hová küldje az email-t..."


De igen, ez a rész:


if ( is_array($toAddress) ) {

foreach ($toAddress as $k => $v) {

$mail->AddAddress($v[0], $v[1]);

};

} else {

$mail->AddAddress($toAddress, $toName);

};



Azért van így megoldva, mert több címzettet is meg lehet adni. Ha a függvény azt érzékeli, hogy a $toAddress változó egy tömb, akkor végigiterál rajta és egyesével átadja a benne lévő címzetteket a $mail->AddAddress függvénynek.



Amit korábban küldtem, ott épp ez van:


sendMail(

"domain.hu hírlevél feliratkozás",

"info@domain.hu",

"Ez a cégnevem",

array(array("info@domain.hu", "Ez a cégnevem")),

"domain.hu üzenet",

$messageBody

);


Ebben az esetben csak egy címzett van (az info@domain.hu, ami most történetesen ugyanaz, mint a feladó, de ez csak a példa miatt van így), ezt nem is kellene tömbbe rakni, de ha több lenne, akkor így nézne ki:


sendMail(

 "domain.hu hírlevél feliratkozás",

 "info@domain.hu",

 "Ez a cégnevem",

 array(

    array("cimzett1@cimzett.hu", "Első címzett neve"),

    array("cimzett2@cimzett.hu", "Második címzett neve"),

    array("cimzett3@cimzett.hu", "Harmadik címzett neve")

 ),

 "domain.hu üzenet",

 $messageBody

);


És itt a függ szignatúra:


function sendMail($fromName, $fromMail, $toName, $toAddress, $Subject, $mailBody, $attachments = null);


Ez alapján, a paraméterek sorban:

- küldő neve (bármi lehet)

- küldő email címe

- címzett neve (bármi lehet)

- címzett(ek) email címe

- tárgy

- az email törzse (a szöveg)

- mellékletek (alapértelmezetten nincs)

2021. márc. 28. 08:05
Hasznos számodra ez a válasz?
 17/19 anonim ***** válasza:

$mail->SMTPAuth = true;

$mail->SMTPSecure = "ssl";


$mail->From = $fromMail;

$mail->FromName = $fromName;


$mail->Username = "nethelyes email címed";

$mail->Password = "nehelyes email címed jelszava";

$mail->Host = "mail.nethely.hu";

$mail->Port = 465;


$mail->Encoding = "base64";

$mail->ContentType = "text/html";

$mail->CharSet = "UTF-8";

2021. márc. 28. 08:08
Hasznos számodra ez a válasz?
 18/19 A kérdező kommentje:

Megnéztem amit írtál és értelmeztem és ha nem gond küldenék egy újat, ha van rá pár perced, akkor légyszives nézd meg.

Könnyebben tanulok, ha van egy működő és utána toldozom-foldozom, ahol kell. Ebben nincs ssl hitelesítés, ezért átírtam a 465-ös portot 1025-re (elvileg ez az ssl nélkülié). Ha van benne hiba, akkor légyszives írd le, hogy mi az, illetve a végén az email tárgya, szövege stb. elé kell a $mail-> ?

Előre is köszönöm!


<?php

use PHPMailer\PHPMailer\PHPMailer;

use PHPMailer\PHPMailer\Exception;


require 'phpmailer/src/Exception.php';

require 'phpmailer/src/PHPMailer.php';

require 'phpmailer/src/SMTP.php';


function sendMail($fromName, $fromMail, $toName, $toAddress, $Subject, $mailBody, $attachments = null) {

date_default_timezone_set("Europe/Budapest");



$mail = new PHPMailer();

$mail->IsSMTP();

$mail->SMTPDebug = 0;

$mail->SMTPAuth = true;


$mail->From = "emailem@domainem.com";

$mail->FromName = "domainem";


$mail->AddAddress = "címzett email", "emailhez tartozó név");

$mail->AddAddress = "címzett email";


$mail->Username = "domain nevem";

$mail->Password = "domain email jelszava";

$mail->Host = "mail.nethely.hu";

$mail->Port = 1025;


$mail->Encoding = "base64";

$mail->ContentType = "text/html";

$mail->CharSet = "UTF-8";


$mail->FromName = "küldő neve"

$mail->FromMail = "küldő email címe"

$mail->ToName = "címzett neve"

$mail->ToAddress = "címzett eimail címe"

$Subject = "email tárgya"

$Mailbody = "email szövege"

$attachments = 0


?>

2021. márc. 29. 15:54
 19/19 anonim ***** válasza:

Ezen mit kell néznem?

Majdnem ugyanaz, mint amit előzőleg küldtél.


Ez itt: $mail->AddAddress = "címzett email", "emailhez tartozó név");

Szintaktikailag nem jó.

Az utolsó 7 sor végéről pedig hiányzik a pontosvessző.


Be kell helyettesíteni az adatokat, a $mail->SMTPDebug = 1-re állítani a tesztelés idejére, és megnézni, mit ír ki a php, ha lefuttatod.

2021. márc. 29. 16:49
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!