Sähköpostin lähettäminen PHP mail() -funktiolla

Mikä on PHP-posti?

PHP-sähköposti on sisäänrakennettu PHP-toiminto, jota käytetään sähköpostien lähettämiseen PHP-skripteistä.

Postitoiminto hyväksyy seuraavat parametrit:

  • Sähköpostiosoite
  • Aihe
  • Viesti
  • CC- tai BC-sähköpostiosoitteet

  • Se on kustannustehokas tapa ilmoittaa käyttäjille tärkeistä tapahtumista.
  • Anna käyttäjien ottaa sinuun yhteyttä sähköpostitse antamalla yhteydenottolomake verkkosivustolla, joka lähettää tarjotun sisällön sähköpostitse.
  • Kehittäjät voivat käyttää sitä vastaanottaakseen järjestelmävirheitä sähköpostitse
  • Voit käyttää sitä sähköpostin lähettämiseen uutiskirjeen tilaajille.
  • Voit käyttää sitä lähettämään salasanan palautuslinkkejä käyttäjille, jotka unohtavat salasanansa
  • Voit käyttää sitä aktivointi-/vahvistuslinkkien lähettämiseen sähköpostitse. Tästä on hyötyä, kun rekisteröit käyttäjiä ja vahvistat heidän sähköpostiosoitteensa

Miksi/milloin käyttää sähköpostin PHP:tä

Sähköpostin lähettäminen PHP:llä

PHP-sähköpostitoiminnolla on seuraava perussyntaksi

<?php
mail($to_email_address,$subject,$message,[$headers],[$parameters]);
?>

TÄSSÄ,

  • "$to_email_address" on sähköpostin vastaanottajan sähköpostiosoite
  • "$subject" on sähköpostin aihe
  • "$viesti" on lähetettävä viesti.
  • "[$headers]" on valinnainen, sitä voidaan käyttää sisältämään tietoja, kuten CC, BCC

    • CC on lyhenne sanoista hiilikopio. Sitä käytetään, kun halutaan lähettää kopio asiasta kiinnostuneelle eli yritykselle lähetetty valitussähköposti voidaan lähettää myös CC:nä valituslautakunnalle.
    • BCC on lyhenne sanoista blind carbon copy. Se on samanlainen kuin CC. Piilokopio-osiossa olevia sähköpostiosoitteita ei näytetä muille vastaanottajille.

Yksinkertainen Mail Transmission Protokolla (SMTP)

PHP-postittaja käyttää Simpleä Mail Transmission Protokolla (SMTP) sähköpostin lähettämiseen.

Isännöidyllä palvelimella SMTP-asetukset olisi jo asetettu.

SMTP-sähköpostiasetukset voidaan määrittää PHP-asennuskansion "php.ini"-tiedostosta.

SMTP-asetusten määrittäminen paikallisessa koneessa Olettaen, että käytät xampp:tä Windowsissa, etsi "php.ini" hakemistosta "C:\xampp\php".

  • Avaa se muistilehtiöllä tai millä tahansa tekstieditorilla. Käytämme tässä esimerkissä muistilehteä. Napsauta muokkausvalikkoa

Yksinkertainen Mail Transmission Protokolla

  • Napsauta Etsi… -valikkoa

Yksinkertainen Mail Transmission Protokolla

  • Etsi-valintaikkuna tulee näkyviin

Yksinkertainen Mail Transmission Protokolla

  • Napsauta Etsi seuraava -painiketta

Yksinkertainen Mail Transmission Protokolla

  • Paikanna merkinnät

    • [postitoiminto]
    • ; XAMPP: Älä poista puolisaraketta, jos haluat työskennellä esimerkiksi SMTP-palvelimen kanssa Mercury
    • ; SMTP = paikallinen isäntä
    • ; smtp_port = 25
    • Poista puolipisteet ennen SMTP:tä ja smtp_portia ja aseta SMTP omaksi smtp-palvelin ja portti smtp-porttiin. Asetusten pitäisi näyttää seuraavalta

      • SMTP = smtp.example.com
      • smtp_port = 25
      • Huomautuksia SMTP-asetukset saat web-palveluntarjoajaltasi.
      • Jos palvelin vaatii todennusta, lisää seuraavat rivit.

        • auth_username = esimerkki_käyttäjänimi@example.com
        • auth_password = esimerkki_salasana
        • Tallenna uudet muutokset.
        • Käynnistä uudelleen Apache palvelin.

PHP Mail esimerkki

Katsotaanpa nyt esimerkkiä, joka lähettää yksinkertaisen sähköpostin.

<?php     
$to_email = 'name @ company . com';
$subject = 'Testing PHP Mail';
$message = 'This mail is sent using the PHP mail function';
$headers = 'From: noreply @ company . com';
mail($to_email,$subject,$message,$headers);
?>

lähtö:

Yksinkertainen Mail Transmission Protokolla

Huomautus: yllä oleva esimerkki ottaa vain 4 pakollista parametria.

Sinun tulee korvata yllä oleva kuvitteellinen sähköpostiosoite oikealla sähköpostiosoitteella.

Sähköpostin käyttäjien syötteiden desinfiointi

Yllä oleva esimerkki käyttää kovakoodattuja arvoja lähdekoodissa sähköpostiosoitteelle ja muille yksityiskohdille yksinkertaisuuden vuoksi.

Oletetaan, että sinun on luotava yhteydenottolomake, jotta käyttäjät voivat täyttää tiedot ja lähettää ne.

  • Käyttäjät voivat vahingossa tai tahallaan lisätä koodia otsikoihin, mikä voi johtaa roskapostin lähettämiseen
  • Voit suojata järjestelmääsi tällaisilta hyökkäyksiltä luomalla mukautetun toiminnon, joka puhdistaa ja vahvistaa arvot ennen sähköpostin lähettämistä.

Luodaan mukautettu funktio, joka vahvistaa ja puhdistaa sähköpostiosoitteen käyttämällä sisäänrakennettua filter_var-funktiota.

Filter_var-funktio Filter_var-toimintoa käytetään käyttäjän syöttämien tietojen puhdistamiseen ja validointiin.

Siinä on seuraava perussyntaksi.

<?php
filter_var($field, SANITIZATION TYPE);
?>

TÄSSÄ,

  • "filter_var(…)" on vahvistus- ja puhdistustoiminto
  • "$field" on suodatettavan kentän arvo.
  • "SANITOINNIN TYYPPI" on kentällä suoritettavan desinfioinnin tyyppi, kuten;

    • FILTER_VALIDATE_EMAIL – se palauttaa tosi kelvollisille sähköpostiosoitteille ja false virheellisille sähköpostiosoitteille.
    • FILTER_SANITIZE_EMAIL – se poistaa laittomat merkit sähköpostiosoitteista. info\@domain.(com) palauttaa info@domain.com.
    • FILTER_SANITIZE_URL – se poistaa laittomat merkit URL-osoitteista. http://www.example@.comé palauttaa >http://www.example@.com
    • FILTER_SANITIZE_STRING – se poistaa tunnisteet merkkijonoarvoista. am bold tulee am bold.

Alla oleva koodi käyttää mukautettua toimintoa suojatun postin lähettämiseen.

<?php 
function sanitize_my_email($field) {
    $field = filter_var($field, FILTER_SANITIZE_EMAIL);
    if (filter_var($field, FILTER_VALIDATE_EMAIL)) {
        return true;
    } else {
        return false;
    }
}
$to_email = 'name @ company . com';
$subject = 'Testing PHP Mail';
$message = 'This mail is sent using the PHP mail ';
$headers = 'From: noreply @ company. com';
//check if the email address is invalid $secure_check
$secure_check = sanitize_my_email($to_email);
if ($secure_check == false) {
    echo "Invalid input";
} else { //send email 
    mail($to_email, $subject, $message, $headers);
    echo "This email is sent using PHP Mail";
}
?>

lähtö:

Sähköpostin käyttäjien syötteiden desinfiointi

Varmista Mail

Ei-toivotut vastaanottajat voivat siepata sähköpostit lähetyksen aikana.

Tämä voi paljastaa sähköpostin sisällön tahattomille vastaanottajille.

Suojattu sähköposti ratkaisee tämän ongelman lähettämällä sähköpostit HTTPS:n (Hypertext Transfer Protocol Securen) kautta.

HTTPS salaa viestit ennen niiden lähettämistä.

Yhteenveto

  • - PHP sisäänrakennettu funktio mail() käytetään sähköpostin lähettämiseen PHP-skripteistä
  • Tietojen validointi- ja desinfiointitarkistukset ovat olennaisia ​​suojatun postin lähettämisessä
  • PHP:n sisäänrakennettu funktio filter_var() tarjoaa helppokäyttöisen ja tehokkaan tavan suorittaa tietojen puhdistaminen ja validointi