Bruk av postfunksjon i PHP på Ubuntu

Bruk av postfunksjon i PHP på Ubuntu

Mail () -funksjonen er en innebygd PHP-funksjon som brukes til å sende e-post fra Localhost. Men noen konfigurasjoner er pålagt å sende e -post ved hjelp av denne funksjonen. Du trenger den virkelige e -postserverinformasjonen for å sette opp konfigurasjonen. Du kan bruke e -postserverinformasjonen til den aktive hosting -serveren din, 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 Mail () -funksjonen.

Oppsettkonfigurasjon

Det kreves to filer for å endre for å sette opp konfigurasjonen: PHP.Inn jeg fil og en annen fil er nødvendig for å konfigurere for å sette opp e -postserveren. Følg trinnene som vises nedenfor for å sette opp konfigurasjonen. Mange pakker er tilgjengelige i PHP for å sende en e -post. MSMTP er en PHP Mail Server -klient som brukes i denne opplæringen til å sende e -post ved hjelp av PHP Mail () -funksjonen.

Trinn:

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

$ sudo apt-get installer msmtp

Opprett en konfigurasjonsfil med den navngitte /etc /MSMTPRC med følgende kommando:

$ sudo nano /etc /msmtprc

Legg til følgende innhold i filen. Legg til den gyldige e -postadressen for bruker og det gyldige passordet for passord som vil bli brukt til å sende en e -post. Angi avsender -e -postadressen for form verdi.

standardverdier
TLS på
tls_starttls på
tls_trust_file/etc/ssl/certs/ca-certificates.crt
Konto standard
Vert SMTP.Gmail.com
Port 587
Auth On
[email protected]
Passord user_password
Fra Sender_Email_Address

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 [, mixed $ tilleggs_headers [, 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 -postorganet. Det siste argumentet er valgfritt, og det inneholder ytterligere informasjon om e -posten som en streng eller en matrise.

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

Ulike eksempler på å sende en e -post ved hjelp av Mail () -funksjonen 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 Mail () -funksjonen. Opprett en PHP -fil med følgende skript.

Du må angi en gyldig e -postadresse for $ til variabel for å få utgangen fra følgende skript. En enkel tekst er satt som et meldingskropp.

// Angi recieverens e -postadresse
$ til = "[email protected] ";
// angi emnet for e -posten
$ emne = "Det er en testing av e -post";
// Angi e -postlegemet
$ melding = "Det er å teste e -postorgan";
// angi informasjonsinformasjon
$ headers = "fra: [email protected] \ r \ n ";
$ overskrifter .= "Svar til: [email protected] \ r \ n ";
// Send e -post ved hjelp av Message Mail () -funksjonen
if (mail ($ til, $ emne, $ melding, $ headers))

Echo "e -post har sendt vellykket.\ r \ n ";

ellers
Echo "e -post har ikke sendt.
";

?>

Følgende utdata vises etter å ha kjørt skriptet fra WebServer hvis Mail () -funksjonen fungerer ordentlig.


Følgende utdata vises hvis du sjekker innboksen til e -postadressen som er satt som e -postadressen til mottakeren.

Eksempel 2: Send en HTML -formatert e -post

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

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

// Angi recieverens e -postadresse
$ til = "[email protected] ";
// angi emnet for e -posten
$ emne = 'registrering vellykket';
// Angi e -postlegemet
$ melding = '

Registreringen din er fullført med hell.


Brukernavn = Fahmida20

passord = ASWQ34GHQW


';
// Sett vognretur
$ nl = "\ r \ n";
// angi innholdstypen
$ headers = 'mime-versjon: 1.0 '.$ nl;
$ overskrifter .= 'Innholdstype: tekst/html; Charset = ISO-8859-1 '.$ nl;
// angi informasjon om overskrifter
$ overskrifter .= 'Til: Mehrab Hossain'.$ nl;
$ overskrifter .= 'Fra: admin'.$ nl;
$ overskrifter .= 'CC: [email protected] '.$ nl;
// Send e -post ved hjelp av Message Mail () -funksjonen
if (mail ($ til, $ emne, $ melding, $ headers))
Echo "e -post har sendt vellykket.\ r \ n ";

ellers
Echo "e -post har ikke sendt. \ r \ n ";

?>

Følgende utdata vises etter å ha kjørt skriptet fra WebServer hvis Mail () -funksjonen fungerer ordentlig.


Følgende utdata vises hvis du sjekker innboksen til e -postadressen som er satt som e -postadressen til mottakeren.

Eksempel 3: Send en e -post med vedlegget

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

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

// Angi recieverens e -postadresse
$ til = "[email protected] ";
// angi emnet for e -posten
$ emne = "Filvedlegg";
// Sett vognretur
$ nl = "\ r \ n";
// angi en tilfeldig hasj som vil bli brukt 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));
// Angi e -postmeldingen med vedleggsinformasjon
$ melding = "-" . $ separator . $ nl;
$ melding .= "Content-Type: Text/Plain; Charset =" ISO-8859-1 "" " . $ nl;
$ melding .= "Innholdsoverføring-koding: 8bit" . $ nl;
$ melding .= "En tekstfil er vedlagt med e -posten."" . $ nl;
$ melding .= "-" . $ separator . $ nl;
$ melding .= "Innholdstype: applikasjon/oktet-stream; name =" " . $ filnavn . "" " . $ nl;
$ melding .= "Innholdsoverføring-koding: Base64" . $ nl;
$ melding .= "Innholds-disposisjon: vedlegg" . $ nl;
$ melding .= $ innhold . $ nl;
$ melding .= "-" . $ separator . "-";
// angi innholdstypen
$ headers = 'mime-versjon: 1.0 '.$ nl;
$ overskrifter .= "Fra: [email protected] ".$ nl;
$ overskrifter .= "Svar-til: [email protected] ".$ nl;
$ overskrifter .= "Innholdstype: Multipart/Mixed; Boundary =" " . $ separator . "" " .$ nl;
// Send e -post ved hjelp av Message Mail () -funksjonen
if (mail ($ til, $ emne, $ melding, $ headers))
Echo "e -post har sendt med vedlegg.\ r \ n ";

ellers
Echo "e -post har ikke sendt. \ r \ n ";

?>

Følgende utdata vises etter å ha kjørt skriptet fra WebServer hvis Mail () -funksjonen fungerer ordentlig.


Følgende utdata vises hvis du sjekker innboksen til e -postadressen som er satt som e -postadressen til mottakeren.

Konklusjon

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