php

Mail () -toiminnon käyttö PHP ssä Ubuntussa

Mail () -toiminnon käyttö PHP ssä Ubuntussa

Mail () -toiminto on sisäänrakennettu PHP-toiminto, jota käytetään lähettämään sähköpostia paikallisilta palvelimilta. Mutta joidenkin kokoonpanojen vaaditaan lähettämään sähköpostia käyttämällä tätä toimintoa. Tarvitset oikean sähköpostipalvelimen tiedot kokoonpanon määrittämiseen. Voit käyttää aktiivisen palvelinpalvelimen sähköpostipalvelintietoja tai mitä tahansa ilmaista sähköpostipalvelintietoa. Gmail-tiliä ja Gmailin SMTP-palvelintietoja käytetään tässä opetusohjelmassa sähköpostin lähettämiseen mail () -toiminnon avulla.

Asetusten määritys

Kaksi tiedostoa tarvitaan muokkaamaan kokoonpanon määrittämiseksi: php.ini tiedosto ja toinen tiedosto tarvitaan määrittämään postipalvelimen asetukset. Määritä kokoonpano noudattamalla alla olevia ohjeita. Monet paketit ovat saatavana PHP: ssä sähköpostin lähettämiseen. msmtp on PHP-postipalvelinasiakas, jota käytetään tässä opetusohjelmassa sähköpostin lähettämiseen PHP mail () -toiminnon avulla.

Askeleet:

Suorita seuraava komento asentaaksesi msmtp paketti Ubuntussa postipalvelimen määrittämiseksi:

$ sudo apt-get install msmtp

Luo määritystiedosto nimeltä / etc / msmtprc seuraavalla komennolla:

$ sudo nano / etc / msmtprc

Lisää seuraava sisältö tiedostoon. Lisää kelvollinen sähköpostiosoite käyttäjä ja voimassa oleva salasana Salasana jota käytetään sähköpostin lähettämiseen. Aseta lähettäjän sähköpostiosoite muodossa arvo.

oletukset
tls päällä
tls_starttls päällä
tls_trust_file / etc / ssl / certs / ca-sertifikaatit.crt
tilin oletusarvo
isäntä smtp.gmail.com
portti 587
todennetaan
käyttäjänimi @ gmail.com
salasana käyttäjän_salasana
from sender_email_address

Määritä omistajuus ja käyttöoikeus suorittamalla seuraavat komennot / etc / msmtprc-tiedosto:

$ sudo chown fahmida / etc / msmtprc
$ sudo chmod 0600 / etc / msmtprc

Avaa php.ini tiedosto ja muokkaa seuraavaa sisältöä seuraavilla arvoilla:

SMTP = smtp.gmail.com
smtp_port = 587
sendmail_path = "/ usr / bin / msmtp -t -i"

Syntaksi:

Bool-posti (merkkijono $ to, string $ subject, string $ message [, mixed $ Additional_headers [, string $ Additional_parameters]])

Tämä toiminto voi sisältää neljä argumenttia. Ensimmäisessä argumentissa otetaan vastaanottajan sähköpostiosoite. Toinen argumentti vie sähköpostin aiheen. Kolmas argumentti vie sähköpostirungon. Viimeinen argumentti on valinnainen, ja se sisältää lisätietoja sähköpostista merkkijonona tai matriisina.

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

Eri esimerkkejä sähköpostin lähettämisestä PHP: n mail () -toiminnolla on tässä opetusohjelman osassa.

Esimerkki 1: Lähetä yksinkertainen tekstiviesti

Tämä esimerkki osoittaa, kuinka yksinkertainen tekstiviesti voidaan lähettää mail () -toiminnon avulla. Luo PHP-tiedosto seuraavalla komentosarjalla.

Sinun on määritettävä kelvollinen sähköpostiosoite $ to muuttuja saadaksesi seuraavan komentosarjan tuloksen. Yksinkertainen teksti asetetaan viestin rungoksi.

// Aseta vastaanottajan sähköpostiosoite
$ to = "[sähköposti suojattu]";
// Aseta sähköpostin aihe
$ subject = "Se on testaussähköposti";
// Aseta sähköpostin runko
$ message = "Se testaa sähköpostin runkoa";
// Aseta otsikkotiedot
$ header = "Lähettäjä: [sähköposti suojattu] \ r \ n";
$ otsikot .= "Vastaus: [sähköposti suojattu] \ r \ n";
// Lähetä sähköpostia viestipostin () avulla
jos (posti ($ kohteeseen, $ aihe, $ viesti, $ otsikot))

echo "Sähköpostin lähetys onnistui.\ r \ n ";

muu
echo "Sähköpostia ei ole lähetetty.
";

?>

Seuraava komento tulee näkyviin, kun komentosarja on suoritettu verkkopalvelimelta, jos posti () -toiminto toimii oikein.


Seuraava tulos tulee näkyviin, jos tarkistat vastaanottajan sähköpostiosoitteeksi määritetyn sähköpostiosoitteen postilaatikon.

Esimerkki 2: Lähetä HTML-muotoinen sähköposti

Tämä esimerkki osoittaa, kuinka HTML-muotoinen sähköposti voidaan lähettää mail () -toiminnon avulla. Luo PHP-tiedosto seuraavalla komentosarjalla.

$ viesti muuttuja alustetaan HTML-sisällöllä, joka lähetetään sähköpostin tekstiosana. Se mainitaan $ otsikko muuttuja, että sähköpostin sisältö on HTML.

// Aseta vastaanottajan sähköpostiosoite
$ to = "[sähköposti suojattu]";
// Aseta sähköpostin aihe
$ subject = 'Rekisteröinti onnistui';
// Aseta sähköpostin runko
$ message = '

Rekisteröinti on suoritettu onnistuneesti.


käyttäjänimi = fahmida20

salasana = aswQ34ghqw


";
// Aseta vaunun paluu
$ nl = "\ r \ n";
// Aseta Content-type-otsikko
$ header = 'MIME-versio: 1.0 '.$ nl;
$ otsikot .= 'Sisältötyyppi: teksti / html; merkkisarja = iso-8859-1 '.$ nl;
// Aseta ylätunnistetiedot
$ otsikot .= 'Vastaanottaja: Mehrab Hossain'.$ nl;
$ otsikot .= 'Lähettäjä: Järjestelmänvalvoja'.$ nl;
$ otsikot .= 'Kopio: [sähköposti suojattu]'.$ nl;
// Lähetä sähköpostia viestipostin () avulla
jos (posti ($ kohteeseen, $ aihe, $ viesti, $ otsikot))
echo "Sähköpostin lähetys onnistui.\ r \ n ";

muu
echo "Sähköpostia ei ole lähetetty. \ r \ n ";

?>

Seuraava komento tulee näkyviin, kun komentosarja on suoritettu verkkopalvelimelta, jos posti () -toiminto toimii oikein.


Seuraava tulos tulee näkyviin, jos tarkistat vastaanottajan sähköpostiosoitteeksi määritetyn sähköpostiosoitteen postilaatikon.

Esimerkki 3: Lähetä sähköpostiviesti liitteineen

Tämä esimerkki osoittaa, kuinka sähköposti voidaan lähettää liittämällä tekstitiedosto. Luo tekstitiedosto seuraavalla komentosarjalla.

Tekstitiedoston sisältö luetaan ja koodataan ennen liitettä ja md5 () -funktiota käytetään komentosarjassa satunnaisluvun luomiseksi sekoitetulle sisällölle. Kaikki tarvittavat tiedot lisätään $ otsikot ja $ viesti muuttujia ennen sähköpostin lähettämistä.

// Aseta vastaanottajan sähköpostiosoite
$ to = "[sähköposti suojattu]";
// Aseta sähköpostin aihe
$ subject = "Tiedoston liite";
// Aseta vaunun paluu
$ nl = "\ r \ n";
// Aseta satunnainen hash, jota käytetään sekoitettuun sisältöön
$ erotin = md5 (aika ());
// Lue liitteenä olevan tiedoston sisältö
$ filename = 'omatiedosto.txt ';
$ content = file_get_contents ($ tiedostonimi);
$ content = chunk_split (base64_encode ($ content));
// Aseta sähköpostiviesti liitetiedoilla
$ message = "-" . $ erotin . $ nl;
$ viesti .= "Sisältötyyppi: teksti / tavallinen; charset =" iso-8859-1 "" . $ nl;
$ viesti .= "Sisällönsiirto-koodaus: 8 bittiä" . $ nl;
$ viesti .= "Sähköpostin mukana on tekstitiedosto." . $ nl;
$ viesti .= "-" . $ erotin . $ nl;
$ viesti .= "Sisältötyyppi: sovellus / oktettivirta; nimi =" " . $ tiedostonimi . "" " . $ nl;
$ viesti .= "Sisällönsiirto-koodaus: base64" . $ nl;
$ viesti .= "Content-Disposition: liite" . $ nl;
$ viesti .= $ sisältö . $ nl;
$ viesti .= "-" . $ erotin . "-";
// Aseta Content-type-otsikko
$ header = 'MIME-versio: 1.0 '.$ nl;
$ otsikot .= "Lähettäjä: [email protected]".$ nl;
$ otsikot .= "Vastaus: [sähköposti suojattu]".$ nl;
$ otsikot .= "Sisältötyyppi: moniosainen / sekoitettu; raja =" " . $ erotin . "" " .$ nl;
// Lähetä sähköpostia viestipostin () avulla
jos (posti ($ kohteeseen, $ aihe, $ viesti, $ otsikot))
echo "Sähköpostin lähetys liitteenä onnistui.\ r \ n ";

muu
echo "Sähköpostia ei ole lähetetty. \ r \ n ";

?>

Seuraava komento tulee näkyviin, kun komentosarja on suoritettu verkkopalvelimelta, jos posti () -toiminto toimii oikein.


Seuraava tulos tulee näkyviin, jos tarkistat vastaanottajan sähköpostiosoitteeksi määritetyn sähköpostiosoitteen postilaatikon.

Johtopäätös

PHP: ssä on monia tapoja lähettää sähköposteja. PHP mail () -toiminto ei toimi oikein Ubuntussa kokoonpanon asettamisen jälkeen. Tässä opetusohjelmassa näytetään tarvittavat kokoonpanot ja tapa lähettää sähköposteja PHP mail () -toiminnon avulla.

Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...