...
✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Lähetä sähköpostia käyttämällä Gmailin SMTP-palvelinta PHP-komentosarjalta

61

Sähköpostilla on tärkeä rooli verkkosivustolla. Jokaisen verkkosivuston on yleensä lähetettävä sähköposteja käyttäjille. Nämä sähköpostit voidaan lähettää yhteydenottosivulta, uutiskirjeestä, rekisteröintilomakkeesta jne.

PHP tarjoaa mail()toiminnon, jota käytetään sähköpostin lähettämiseen. mail()Menetelmän käytössä on kuitenkin rajoituksia. Et voi lähettää sähköpostia paikalliselta kehityspalvelimelta. Toinen haittapuoli on, että on suuri mahdollisuus, että sähköpostisi päätyy roskapostiksi.

Useimmissa tapauksissa mail()menetelmä ei edes lähetä sähköpostia. Tämä voi johtua väärästä palvelimen kokoonpanosta tai jostain muusta.

Voit päästä eroon näistä ongelmista tai rajoituksista käyttämällä SMTP-palvelinta sähköpostiviestien lähettämiseen.

Tässä artikkelissa tutkitaan, miten PHPMaileria ja Gmailin SMTP-palvelinta käytetään sähköpostiviestien lähettämiseen.

Asennus

Sinun on ensin asennettava PHPMailer- kirjasto projektiisi. Suositeltu tapa asentaa kirjasto on Composerin kautta .

Avaa komentorivi projektin juurihakemistossa ja suorita alla oleva komento.

composer require phpmailer/phpmailer

Koska käytämme Gmailin SMTP-protokollaa, sinun on muutettava joitain Google-tilisi asetuksia. Kirjaudu Google-tiliisi ja napsauta Oma tili. Kun olet Oma tili -sivulla, napsauta Suojaus. Vieritä alaspäin ja löydät ‘Vähemmän turvallisen sovelluksen käyttö’ -asetukset. Aseta se asentoon ON.

Lähetä sähköpostia käyttämällä Gmailin SMTP-palvelinta PHP-komentosarjalta

Tämän jälkeen meidän on kirjoitettava koodi, joka lähettää sähköpostia käyttämällä PHPMailer-kirjastoa ja Gmailin SMTP-palvelinta.

PHP-komentosarja sähköpostin lähettämiseen Gmail SMTP -palvelimen avulla

Avaa PHP-tiedosto, johon sinun on kirjoitettava koodi sähköposteille. Oletan esimerkiksi, että sinulla on sendemail.phptiedosto juurihakemistossa.

sendemail.php

<?php
//Import PHPMailer classes into the global namespace
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;
 
require_once 'vendor/autoload.php';
 
$mail = new PHPMailer(true);
?>

Edellä mainittuun koodiin olen sisällyttänyt PHPMailer-kirjaston ympäristön PHP-tiedostoon.

Seuraavaksi käyttäjän on lähetettävä sähköpostit PHPMailer-sovelluksella Gmailin SMTP-palvelimen osoite, Gmailin SMTP-portti ja SMTP-todennus (mikä ei ole muuta kuin käyttäjänimesi ja Google-tilisi salasana).

$mail->isSMTP();
$mail->Host = 'smtp.googlemail.com';  //gmail SMTP server
$mail->SMTPAuth = true;
$mail->Username = 'GMAIL_USERNAME';   //username
$mail->Password = 'GMAIL_PASSWORD';   //password
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;                    //SMTP port

Se siitä! Määritys on valmis. Nyt voit lähettää sähköpostia sähköpostitse käyttäjälle.

$mail->setFrom('FROM_EMAIL_ADDRESS', 'FROM_NAME');
$mail->addAddress('RECEPIENT_EMAIL_ADDRESS', 'RECEPIENT_NAME');
 
$mail->isHTML(true);
 
$mail->Subject = 'Email subject';
$mail->Body    = '<b>Email Body</b>';
 
$mail->send();
echo 'Message has been sent';

Korvaa paikkamerkit todellisilla arvoilla. Suorita tämä tiedosto selaimella, ja sähköpostisi tulee lähettää vastaanottajan sähköpostiosoitteeseen.

Liitteiden lähettäminen sähköpostitse

PHPMailer-kirjastoa käyttämällä voidaan lähettää yksittäisiä tai useita liitteitä sähköpostitse. Sinun tarvitsee vain siirtää liitteiden hakemistopolku menetelmään addAttachmentseuraavasti.

$mail->addAttachment(__DIR__. '/attachment1.png');
$mail->addAttachment(__DIR__. '/attachment2.jpg');

Lopullinen koodimme on seuraava.

sendemail.php

<?php
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;
 
require_once "vendor/autoload.php";
require_once "constants.php";
 
$mail = new PHPMailer(true);
 
try {
    $mail->isSMTP();
    $mail->Host = 'smtp.googlemail.com';  //gmail SMTP server
    $mail->SMTPAuth = true;
    $mail->Username = GMAIL_USERNAME;   //username
    $mail->Password = GMAIL_PASSWORD;   //password
    $mail->SMTPSecure = 'ssl';
    $mail->Port = 465;                    //smtp port
  
    $mail->setFrom('FROM_EMAIL_ADDRESS', 'FROM_NAME');
    $mail->addAddress('RECEPIENT_EMAIL_ADDRESS', 'RECEPIENT_NAME');
 
    $mail->addAttachment(__DIR__. '/attachment1.png');
    $mail->addAttachment(__DIR__. '/attachment2.png');
 
    $mail->isHTML(true);
    $mail->Subject = 'Email Subject';
    $mail->Body    = '<b>Email Body</b>';
 
    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: '. $mail->ErrorInfo;
}
?>

Toivon, että ymmärrät, kuinka voit lähettää sähköpostia käyttämällä Gmailin SMTP-palvelinta PHP-komentosarjalta. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommentissa.

Aiheeseen liittyvät artikkelit

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja