Kako poslati e-poštu iz PHP skripte pomoću SMTP provjere autentičnosti

Sadržaj:

Kako poslati e-poštu iz PHP skripte pomoću SMTP provjere autentičnosti
Kako poslati e-poštu iz PHP skripte pomoću SMTP provjere autentičnosti
Anonim

Što treba znati

  • Mogućnosti PHP klase: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Zabilježite ime poslužitelja pošte > provjerite je li PEAR Mail instaliran > izmijenite PHP datoteku pomoću danih primjera.

Ovaj članak objašnjava kako koristiti SMTP autentifikaciju za slanje e-pošte s PHP mail() funkcijom u PEAR Mail.

Slanje e-pošte pomoću PHP Mail funkcije

Kada koristite funkciju PHP mail(), na kraju šaljete e-poštu izravno s web poslužitelja, a ne s poslužitelja pošte. Ako imate poslužitelj e-pošte putem svog web hosta ili čak poslužitelj e-pošte s drugim hostom, obično je bolje slati poštu putem njega.

Problem je u tome što funkcija PHP mail() ne nudi nikakav ugrađeni način slanja pošte putem SMTP-a. Ako želite otvoriti tu funkcionalnost, morat ćete instalirati dodatnu PHP klasu.

Evo nekoliko opcija koje funkcioniraju:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Pokazat ćemo vam kako koristiti PEAR Mail, ali možete koristiti bilo koju klasu koja podržava SMTP.

Image
Image

Ako vaš web host već ima instaliranu jednu ili više ovih klasa, vjerojatno ima vodiče koji se odnose na vašu situaciju. Ako je tako, samo naprijed i upotrijebite klasu kojoj imate pristup.

Ovu metodu koristite samo ako koristite PHP za izradu vlastitih prilagođenih obrazaca za e-poštu. Ako koristite sustav za upravljanje sadržajem (CMS) kao što je WordPress, potražite dodatak ili ugrađenu funkciju za slanje pošte putem SMTP-a, umjesto da pokušavate izraditi vlastiti.

Kako koristiti PEAR za slanje pošte putem SMTP-a

  1. Provjerite je li vaša domena usmjerena na Mail Exchange (MX) zapise hosta vašeg poslužitelja pošte i zabilježite naziv vašeg poslužitelja pošte. Na primjer, to može biti mail.yourdomain.net ili smtp.yourdomain.net.
  2. Provjerite je li PEAR Mail već instaliran na vašem poslužitelju e-pošte.
  3. Ako PEAR Mail nije instaliran, posavjetujte se sa svojim hostom web pošte za specifične upute za njegovu instalaciju.
  4. Kada je PEAR Mail instaliran, modificirajte jednu od primjera PHP datoteka u sljedećim odjeljcima kako bi odgovarala vašim potrebama.

Primjer PEAR Mail PHP skripte za SMTP poštu

Možete izraditi vlastitu skriptu od nule ako želite ili izmijeniti sljedeći primjer prema vašim željama. Obavezno unesite naziv poslužitelja web pošte u varijablu hosta i koristite podatke za prijavu za host web pošte u poljima za korisničko ime i lozinku.

require_once "Mail.php";

$from="Ime pošiljatelja ";

$to="Ime primatelja ";

$subject=" Predmet ovdje: ";

$body=" bilo koja poruka koju želite ";

$host="yourmailhost.com";

$username="vaše korisničko ime ili e-pošta"; $password="vaša lozinka";

$headers=niz ('From'=> $from, 'To'=> $to, 'Subject'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'auth'=> true, 'username'=> $korisničko ime, 'password'=> $password));

$mail=$smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} else {echo("

Poruka uspješno poslana!

);}

Primjer PEAR Mail PHP skripte za SMTP autentifikaciju i SSL enkripciju

Ako želite koristiti SMTP autentifikaciju i SSL enkripciju, morat ćete napraviti nekoliko izmjena u prethodnom primjeru. Morat ćete usmjeriti varijablu hosta na vaš SSL poslužitelj e-pošte i također navesti broj porta kao što je 25, 465, 587, 2525 ili 8025. Obratite se svom hostu web pošte za više informacija ako ne možete shvatiti koji port koristiti.

require_once "Mail.php";

$from="Ime pošiljatelja ";

$to="Ime primatelja ";

$subject=" Predmet ovdje: ";

$body=" bilo koja poruka koju želite ";

$host="ssl://yourmailhost.com";

$port="587"; $username="vaše korisničko ime ili e-pošta";

$password="vaša lozinka";

$headers=array ('From'=> $from, ' To'=> $to, 'Subject'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'port'=> $port, 'auth'=> true, 'username'=> $korisničko ime, 'password'=> $lozinka));

$mail=$smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} else {echo("

Poruka uspješno poslana!

);}

Preporučeni: