+36 30 355 0880

0-24 Tudástár

Témakörök:



Új ügyfeleknek












Meglévő ügyfeleknek














Önmüködő honlap












Érdekességek











Találj meg minket a Google+-on

Domaint Tippek, Domain ötletek
Egyszerűen kitűnő. Végre egy szolgáltató aki nem csak kullog az igények előtt, hanem minőségi szolgáltatást teremt
Domain Regisztráció
Date published: 10/31/2012
5 / 5 stars

Gmail smtp php levélküldéshez




Hamar szembesülhetünk azzal, hogy jó lenne a hírleveleinket smtp szerveren keresztül kiküldeni. Ennek lehet az is az oka, hogy több levelet akarunk küldeni, mint amennyit a vásárolt virtual szerver kapacitása enged.

Ebben az esetben használhatjuk a gmail saját smtp levélküldőjét, amit az alábbi módon kell paraméterezni, ha a phpmailer -t használjuk:

 

FONTOS: Nem minden szerver alkalmas erre a funkcióra, csak ott lehet használni, ahol telepítve van az php_openssl !

 

 PhpMailer használatával:

<?php
require("PHPMailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Mailer     = "smtp";
$mail->SMTPAuth   = true;
$mail->SMTPSecure = "ssl";
$mail->Port       = 465;
$mail->Username   = "*******@gmail.com";  // GMAIL felhasználónév
$mail->Password   = "******";
$mail->Host = "smtp.gmail.com"; // SMTP szerver
$mail->From = "******@gmail.com"; //A levél feladója. Bármi lehet.
$mail->FromName = "Mailer";     // Feladó neve 
$mail->AddAddress("******@gmail.com"); //Címzett

$mail->Subject = "first mailing"; //Levél tárgya
$mail->Body = "hi ! \n\n this is First mailing I made myself with PHPMailer !";
$mail->WordWrap = 50; //sortörés beállítása

if(!$mail->Send())
{
   echo "Hiba a levél küldésekor";
   echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
   echo "Az üzenetet sikeresen elküldtem";
}
?>

 

Amennyiben nem használunk phpmailert, akkor a következő kódot tudjuk használni

function send_mail($from, $namefrom, $to, $nameto, $subject, $message, $rep_email, $rep_name)
{

/*  your configuration here  */

$smtpServer = "tls://smtp.gmail.com"; //does not accept STARTTLS
$port = "465"; // try 587 if this fails
$timeout = "45"; //typical timeout. try 45 for slow servers
$username = ''; //your gmail account
$password = ''; //the pass for your gmail
$localhost = $_SERVER['REMOTE_ADDR']; //requires a real ip
$newLine = "\r\n"; //var just for newlines

/*  you shouldn't need to mod anything else */

//connect to the host and port
$smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout);
$smtpResponse = fgets($smtpConnect, 4096);
if(empty($smtpConnect))
{
   $output = "Failed to connect: $smtpResponse";
   return $output;
}
else
{
   $logArray['connection'] = "Connected to: $smtpResponse";
}

//you have to say HELO again after TLS is started
   fputs($smtpConnect, "HELO $localhost". $newLine);
   $smtpResponse = fgets($smtpConnect, 4096);
   $logArray['heloresponse2'] = "$smtpResponse";

//request for auth login
fputs($smtpConnect,"AUTH LOGIN" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['authrequest'] = "$smtpResponse";

//send the username
fputs($smtpConnect, base64_encode($username) . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['authusername'] = "$smtpResponse";

//send the password
fputs($smtpConnect, base64_encode($password) . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['authpassword'] = "$smtpResponse";

//email from
fputs($smtpConnect, "MAIL FROM: <$from>" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['mailfromresponse'] = "$smtpResponse";

//email to
fputs($smtpConnect, "RCPT TO: <$to>" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['mailtoresponse'] = "$smtpResponse";

//the email
fputs($smtpConnect, "DATA" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['data1response'] = "$smtpResponse";

//construct headers
$headers = "MIME-Version: 1.0" . $newLine;
$headers .= "Content-type: text/html; charset=iso-8859-2" . $newLine;
$headers .= "To: $nameto <$to>" . $newLine;
$headers .= "From: $namefrom <$from>" . $newLine;
$headers .= "Reply-to: ".$rep_name." <".$rep_email.">" . $newLine;

//observe the . after the newline, it signals the end of message
fputs($smtpConnect, "Subject: $subject\r\n$headers\r\n\r\n$message\r\n.\r\n");
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['data2response'] = "$smtpResponse";

// say goodbye
fputs($smtpConnect,"QUIT" . $newLine);
$smtpResponse = fgets($smtpConnect, 4096);
$logArray['quitresponse'] = "$smtpResponse";
$logArray['quitcode'] = substr($smtpResponse,0,3);
fclose($smtpConnect);
//a return value of 221 in $retVal["quitcode"] is a success
return $logArray;
}


Ha találtál valami hasznosat a cikkben, nyomj egy tetszik gombot:

mennyire vagy ügyes domaines?

Kérlek írj egy köszönömöt, ha tetszett!

Csatlakozz a beszélgetéshez!

Mi ez, hova kerültem?

A domainflotta.hu honlap tudásbázisát nézed éppen. Rengeteg leírást és szoftveres segítséget adunk, amivel megnövelheted a forgalmad. Vagy épp megvalósíthatod az ötleted.




domain tárhely regisztráció



Ezeket már olvastad?



Dropbox használata és telepítése

Régóta ismerem ezt a szolgáltatást, azonban csak pár hónap...

Megnézte: 122940 ember
8 trükk amivel meghódítod a YouTube csúcsát

Ehhez elõször kicsit vissza kell ugranunk az idõben 2005-be, amikor is a&nbs...

Megnézte: 65236 ember
Fejléc elõhívása különbözõ levelezõben

E-mail fejlécek megjelenítése - felhasználói segédlet - Tartalomjegyzék E-mail fejl...

Megnézte: 33163 ember
Levelezés saját domain névvel - Gmailen keresztül

Ez az információ már elavult. A Google megszüntette a Gmail összek&ou...

Megnézte: 32891 ember
Mennyi idõ alatt készül el a .hu domain nevem?

A leggyakoribb eset Az új domain szabályzat szerint 4 munkanap alatt elbírálják a doma...

Megnézte: 30368 ember
A hely biztonsági tanúsítványa lejárt vagy A webhely tanúsítványa hibás.

Ez a "hibaüzenetet" a böngészõd írja ki, amikor megpróbálsz belépni a webes leve...

Megnézte: 28610 ember
Domain átirányítás = Google büntetés

 Sokan nem tudják, pedig létfontosságú:A Google bünteti a duplikált tartalmakat. Így a...

Megnézte: 24510 ember
Hogyan tudom rendezni az anyagiakat?

A rendelés díjának befizetésérõl:A rendelésed rögzítésekor küldünk e-mailben egy prof...

Megnézte: 24329 ember
Hogyan tudom elolvasni a leveleimet?

  Böngészõ segítségével Hogyan? A következõ webcímre látogass el e...

Megnézte: 23747 ember
Domain átirányítás

Domain nevet csak ip címre vagy dns címekre lehet irányítani. Az ip cím formátuma: 127.0.0....

Megnézte: 23737 ember