Vad att veta
- PHP klass alternativ: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
- PEAR Mail: Notera e-postserverns namn > kontrollera att PEAR Mail är installerat > ändra PHP-fil med hjälp av givna exempel.
Den här artikeln förklarar hur man använder SMTP-autentisering för att skicka e-post med PHP mail()-funktionen i PEAR Mail.
Skicka e-post med PHP Mail-funktionen
När du använder PHP-funktionen mail() skickar du e-post direkt från din webbserver istället för från din e-postserver. Om du har en e-postserver via ditt webbhotell, eller till och med en e-postserver med en annan värd, är det vanligtvis bättre att skicka e-post via den istället.
Problemet är att PHP mail()-funktionen inte tillhandahåller något inbyggt sätt att skicka e-post via SMTP. Om du vill öppna den funktionen måste du installera en extra PHP-klass.
Här är några alternativ som fungerar:
- PHPmailer
- SwiftMailer
- Zend_Mail
- XpertMailer
- PEAR Mail
Vi visar dig hur du använder PEAR Mail, men du kan använda vilken klass som helst som stöder SMTP.
Om din webbvärd redan har en eller flera av dessa klasser installerade, har den förmodligen handledningar som hänför sig till din situation. Om så är fallet, fortsätt och använd klassen som du har tillgång till.
Använd endast den här metoden om du använder PHP för att skapa dina egna anpassade e-postformulär. Om du använder ett innehållshanteringssystem (CMS) som WordPress, leta efter ett plugin eller inbyggd funktion för att skicka e-post via SMTP, istället för att försöka skapa din egen.
Hur man använder PEAR för att skicka e-post via SMTP
- Se till att din domän pekar mot MX-posterna för din e-postservervärd och notera ditt e-postservernamn. Det kan till exempel vara mail.yourdomain.net eller smtp.yourdomain.net.
- Kontrollera om PEAR Mail redan är installerat på din e-postserver.
- Om PEAR Mail inte är installerat, kontakta din webbpostvärd för specifika instruktioner för att installera det.
- När PEAR Mail har installerats, ändra en av PHP-exemplen i följande avsnitt för att passa dina behov.
Exempel PEAR Mail PHP-skript för SMTP Mail
Du kan skapa ditt eget manus från början om du vill, eller modifiera följande exempel efter eget tycke. Se till att ange ditt webbmailservernamn i värdvariabeln och använd din inloggningsinformation för din webbpostvärd i användarnamns- och lösenordsfälten.
require_once "Mail.php";
$from="Avsändarens namn ";
$to="Mottagarens namn ";
$subject=" Ämnesrad här: ";
$body=" alla meddelanden du vill ha ";
$host="yourmailhost.com";
$username="ditt användarnamn eller e-post"; $password="ditt lösenord";
$headers=array ('From'=> $from, 'To'=> $to, 'Subject'=> $subject);
$smtp=Mail::factory('smtp', array ('host'=> $host, 'auth'=> true, 'username'=> $användarnamn, 'password'=> $password));
$mail=$smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("
". $mail->getMessage()."
);
} annars {echo("
Meddelande har skickats!
);}
Exempel PEAR Mail PHP-skript för SMTP-autentisering och SSL-kryptering
Om du vill använda SMTP-autentisering och SSL-kryptering måste du göra några ändringar i föregående exempel. Du måste peka värdvariabeln till din SSL-e-postserver och även ange ett portnummer som 25, 465, 587, 2525 eller 8025. Kontakta din webbpostvärd för mer information om du inte kan ta reda på vilken port du ska använd.
require_once "Mail.php";
$from="Avsändarens namn ";
$to="Mottagarens namn ";
$subject=" Ämnesrad här: ";
$body=" vilket meddelande du vill ha ";
$host="ssl://yourmailhost.com";
$port="587"; $username="ditt användarnamn eller e-post";
$password="ditt lösenord";
$headers=array ('Från'=> $from, ' To'=> $to, 'Subject'=> $subject);
$smtp=Mail::factory('smtp', array ('host'=>) $host, 'port'=> $port, 'auth'=> true, 'användarnamn'=> $användarnamn, 'lösenord'=> $password));
$mail=$smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("
". $mail->getMessage()."
);
} annars {echo("
Meddelande har skickats!
);}