Sådan sender du e-mail fra et PHP-script ved hjælp af SMTP-godkendelse

Indholdsfortegnelse:

Sådan sender du e-mail fra et PHP-script ved hjælp af SMTP-godkendelse
Sådan sender du e-mail fra et PHP-script ved hjælp af SMTP-godkendelse
Anonim

Hvad du skal vide

  • PHP-klassemuligheder: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Bemærk mailservernavn > tjek at PEAR Mail er installeret > modificer PHP-fil ved at bruge eksempler.

Denne artikel forklarer, hvordan man bruger SMTP-godkendelse til at sende e-mail med PHP mail()-funktionen i PEAR Mail.

Send e-mail med PHP Mail-funktionen

Når du bruger PHP mail()-funktionen, ender du med at sende e-mail direkte fra din webserver i stedet for din mailserver. Hvis du har en mailserver via din webhost, eller endda en mailserver med en anden vært, er det norm alt bedre at sende mail gennem den i stedet.

Problemet er, at PHP-mail()-funktionen ikke giver nogen indbygget måde at sende post via SMTP på. Hvis du vil åbne op for denne funktionalitet, skal du installere en ekstra PHP-klasse.

Her er nogle muligheder, der virker:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Vi viser dig, hvordan du bruger PEAR Mail, men du kan bruge enhver klasse, der understøtter SMTP.

Image
Image

Hvis din webhost allerede har en eller flere af disse klasser installeret, har den sandsynligvis tutorials, der vedrører din situation. Hvis ja, så gå videre og brug den klasse, du har adgang til.

Brug kun denne metode, hvis du bruger PHP til at oprette dine egne brugerdefinerede mailformularer. Hvis du bruger et indholdsstyringssystem (CMS) som WordPress, skal du kigge efter et plugin eller indbygget funktionalitet til at sende e-mail via SMTP i stedet for at prøve at oprette din egen.

Sådan bruges PEAR til at sende e-mail via SMTP

  1. Sørg for, at dit domæne peger på Mail Exchange (MX)-posterne på din mailservervært, og noter dit mailservernavn. Det kan f.eks. være mail.ditdomæne.net eller smtp.ditdomæne.net.
  2. Tjek for at se, om PEAR Mail allerede er installeret på din mailserver.
  3. Hvis PEAR Mail ikke er installeret, skal du kontakte din webmail-vært for at få specifikke instruktioner til at installere det.
  4. Når PEAR Mail er installeret, skal du ændre en af PHP-eksemplerne i de følgende sektioner, så de passer til dine behov.

Eksempel PEAR Mail PHP-script til SMTP Mail

Du kan oprette dit eget script fra bunden, hvis du vil, eller ændre følgende eksempel efter din smag. Sørg for at indtaste dit webmail-servernavn i værtsvariablen, og brug dine loginoplysninger til din webmail-vært i brugernavn- og adgangskodefelterne.

require_once "Mail.php";

$from="Afsendernavn ";

$to="Modtagernavn ";

$subject=" Emnelinje her: ";

$body=" enhver besked, du ønsker ";

$host="yourmailhost.com";

$username="dit brugernavn eller e-mail"; $password="din adgangskode";

$headers=array ('Fra'=> $from, 'To'=> $to, 'Emne'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'auth'=> true, 'brugernavn'=> $brugernavn, 'password'=> $password));

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

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

echo("

". $mail->getMessage()."

);

} ellers {echo("

Beskeden er sendt!

);}

Eksempel PEAR Mail PHP-script til SMTP-godkendelse og SSL-kryptering

Hvis du vil bruge SMTP-godkendelse og SSL-kryptering, bliver du nødt til at foretage et par ændringer til det forrige eksempel. Du skal pege værtsvariablen til din SSL-mailserver og også angive et portnummer som 25, 465, 587, 2525 eller 8025. Kontakt din webmail-vært for mere information, hvis du ikke kan finde ud af, hvilken port du skal brug.

require_once "Mail.php";

$from="Afsendernavn ";

$to="Modtagernavn ";

$subject=" Emnelinje her: ";

$body=" enhver besked, du ønsker ";

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

$port="587"; $username="dit brugernavn eller e-mail";

$password="din adgangskode";

$headers=array ('Fra'=> $fra, ' Til'=> $to, 'Subject'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=>) $host, 'port'=> $port, 'auth'=> true, 'brugernavn'=> $brugernavn, 'adgangskode'=> $password));

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

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

echo("

". $mail->getMessage()."

);

} ellers {echo("

Beskeden er sendt!

);}

Anbefalede: