php

Bruk av mail () -funksjon i PHP på Ubuntu

Bruk av mail () -funksjon i PHP på Ubuntu

Mail () -funksjonen er en innebygd PHP-funksjon som brukes til å sende e-post fra localhost. Men noen konfigurasjoner kreves for å sende e-post ved hjelp av denne funksjonen. Du trenger den virkelige e-postserverinformasjonen for å konfigurere konfigurasjonen. Du kan bruke e-postserverinformasjonen til den aktive vertsserveren, eller du kan bruke hvilken som helst gratis e-postserverinformasjon. En Gmail-konto og SMTP-serverinformasjonen til Gmail brukes i denne opplæringen for å sende e-post ved hjelp av e-post () -funksjonen.

Oppsettkonfigurasjon

To filer må endres for å konfigurere konfigurasjonen: php.Inn jeg fil og en annen fil er nødvendig for å konfigurere for å konfigurere e-postserveren. Følg trinnene nedenfor for å konfigurere konfigurasjonen. Mange pakker er tilgjengelige i PHP for sending av e-post. msmtp er en PHP-postserverklient som brukes i denne opplæringen for å sende e-post ved hjelp av PHP mail () -funksjonen.

Fremgangsmåte:

Kjør følgende kommando for å installere msmtp pakke på Ubuntu for å sette opp e-postserveren:

$ sudo apt-get install msmtp

Opprett en konfigurasjonsfil med navnet / etc / msmtprc med følgende kommando:

$ sudo nano / etc / msmtprc

Legg til følgende innhold i filen. Legg til gyldig e-postadresse for bruker og gyldig passord for passord som vil bli brukt til å sende en e-post. Angi avsenderens e-postadresse for skjema verdi.

standardinnstillinger
tls på
tls_starttls på
tls_trust_file / etc / ssl / certs / ca-Certificate.crt
konto standard
vert smtp.gmail.com
port 587
godkjenning på
brukerbrukernavn @ gmail.com
passord bruker_passord
fra avsenderadresse

Kjør følgende kommandoer for å angi eierskap og tillatelse til / etc / msmtprc-fil:

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

Åpne php.Inn jeg fil og endre følgende innhold med følgende verdier:

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

Syntaks:

bool mail (streng $ til, streng $ emne, streng $ melding [, blandet $ tillegg_overskrifter [, streng $ tillegg_parametere]])

Denne funksjonen kan ta fire argumenter. Det første argumentet tar mottakerens e-postadresse. Det andre argumentet tar emnet for e-posten. Det tredje argumentet tar e-posten. Det siste argumentet er valgfritt, og det inneholder tilleggsinformasjon om e-postmeldingen som en streng eller en matrise.

Sende e-post ved hjelp av e-post () -funksjonen

Ulike eksempler på å sende en e-post ved hjelp av e-postfunksjonen () til PHP vises i denne delen av opplæringen.

Eksempel 1: Send en enkel tekst-e-post

Dette eksemplet viser hvordan en enkel tekst e-post kan sendes ved hjelp av funksjonen mail (). Opprett en PHP-fil med følgende skript.

Du må angi en gyldig e-postadresse for $ til variabel for å få utdataene fra følgende skript. En enkel tekst er angitt som en meldingstekst.

// Angi mottakerens e-postadresse
$ to = "[e-postbeskyttet]";
// Angi emnet for e-posten
$ subject = "Det er en test-e-post";
// Still inn e-postteksten
$ message = "Det tester e-postteksten";
// Still topptekstinformasjonen
$ headers = "Fra: [email protected] \ r \ n";
$ headere .= "Svar til: [e-postbeskyttet] \ r \ n";
// Send e-post ved hjelp av meldingsmail () -funksjonen
hvis (mail ($ til, $ emne, $ melding, $ overskrifter))

ekko "E-post har blitt sendt.\ r \ n ";

ellers
ekko "E-post er ikke sendt.
";

?>

Følgende utdata vises når du har kjørt skriptet fra webserveren hvis e-postfunksjonen () fungerer som den skal.


Følgende utdata vises hvis du sjekker innboksen til e-postadressen som er angitt som mottakerens e-postadresse.

Eksempel 2: Send en HTML-formatert e-post

Dette eksemplet viser hvordan en HTML-formatert e-post kan sendes ved hjelp av e-post () -funksjonen. Opprett en PHP-fil med følgende skript.

$ melding variabel initialiseres med HTML-innhold som vil bli sendt som en e-posttekst. Det er nevnt i $ header variabel at innholdet i e-posten er HTML.

// Angi mottakerens e-postadresse
$ to = "[email protected]";
// Angi emnet for e-posten
$ subject = 'Registrering vellykket';
// Sett e-postteksten
$ melding = '

Registreringen er fullført.


brukernavn = fahmida20

passord = aswQ34ghqw


';
// Still vognretur
$ nl = "\ r \ n";
// Sett inntekst av innholdstype
$ headers = 'MIME-versjon: 1.0 '.$ nl;
$ headere .= 'Innholdstype: tekst / html; charset = iso-8859-1 '.$ nl;
// Angi tilleggsinformasjon for overskrifter
$ headere .= 'Til: Mehrab Hossain'.$ nl;
$ headere .= 'Fra: Admin'.$ nl;
$ headere .= 'Cc: [email protected]'.$ nl;
// Send e-post ved hjelp av meldingsmail () -funksjonen
hvis (e-post ($ til, $ emne, $ melding, $ overskrifter))
ekko "E-post har blitt sendt.\ r \ n ";

ellers
ekko "E-post er ikke sendt. \ r \ n ";

?>

Følgende utdata vises når du har kjørt skriptet fra webserveren hvis e-postfunksjonen () fungerer som den skal.


Følgende utdata vises hvis du sjekker innboksen til e-postadressen som er angitt som mottakerens e-postadresse.

Eksempel 3: Send en e-post med vedlegget

Dette eksemplet viser hvordan en e-post kan sendes ved å legge ved en tekstfil. Opprett en tekstfil med følgende skript.

Innholdet i tekstfilen blir lest og kodet før vedlegg, og funksjonen md5 () brukes i skriptet for å generere et tilfeldig tall for blandet innhold. All nødvendig informasjon legges til i $ headere og $ melding variabler før du sender e-posten.

// Angi mottakerens e-postadresse
$ to = "[email protected]";
// Angi emnet for e-posten
$ subject = "Filvedlegg";
// Still vognretur
$ nl = "\ r \ n";
// Sett en tilfeldig hash som skal brukes til blandet innhold
$ separator = md5 (tid ());
// Les innholdet i den vedlagte filen
$ filnavn = 'myfile.tekst';
$ innhold = file_get_contents ($ filnavn);
$ innhold = chunk_split (base64_encode ($ innhold));
// Sett e-postmeldingen med vedleggsinformasjon
$ message = "-" . $ separator . $ nl;
$ melding .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ melding .= "Innhold-overføring-koding: 8bit" . $ nl;
$ melding .= "En tekstfil er vedlagt e-posten." . $ nl;
$ melding .= "-" . $ separator . $ nl;
$ melding .= "Content-Type: application / octet-stream; name =" " . $ filnavn . "" " . $ nl;
$ melding .= "Innhold-overføring-koding: base64" . $ nl;
$ melding .= "Innholdsdisponering: vedlegg" . $ nl;
$ melding .= $ innhold . $ nl;
$ melding .= "-" . $ separator . "-";
// Sett inntekst av innholdstype
$ headers = 'MIME-versjon: 1.0 '.$ nl;
$ headere .= "Fra: [email protected]".$ nl;
$ headere .= "Svar til: [e-postbeskyttet]".$ nl;
$ headere .= "Content-Type: multipart / mixed; boundary =" " . $ separator . "" " .$ nl;
// Send e-post ved hjelp av meldingsmail () -funksjonen
hvis (e-post ($ til, $ emne, $ melding, $ overskrifter))
ekko "E-post er sendt med vedlegg vellykket.\ r \ n ";

ellers
ekko "E-post er ikke sendt. \ r \ n ";

?>

Følgende utdata vises når du har kjørt skriptet fra webserveren hvis e-post () -funksjonen fungerer som den skal.


Følgende utdata vises hvis du sjekker innboksen til e-postadressen som er angitt som mottakerens e-postadresse.

Konklusjon

Det finnes mange måter i PHP for å sende e-post. PHP mail () -funksjonen fungerer ikke ordentlig på Ubuntu etter at du har konfigurert konfigurasjonen. Denne opplæringen viser de nødvendige konfigurasjonene og måten å sende e-post ved hjelp av PHP mail () -funksjonen.

SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...
Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...