php

Brug af mail () -funktion i PHP på Ubuntu

Brug af mail () -funktion i PHP på Ubuntu

Funktionen mail () er en indbygget PHP-funktion, der bruges til at sende e-mail fra localhost. Men nogle konfigurationer er nødvendige for at sende e-mail ved hjælp af denne funktion. Du har brug for de rigtige mailserveroplysninger for at konfigurere konfigurationen. Du kan bruge mailserveroplysningerne på din aktive hosting-server, eller du kan bruge alle gratis mailserveroplysninger. En Gmail-konto og SMTP-serveroplysningerne i Gmail bruges i denne vejledning til at sende e-mail ved hjælp af funktionen mail ().

Opsætningskonfiguration

To filer skal ændres for at konfigurere konfigurationen: php.ini fil og en anden fil kræves for at konfigurere til opsætning af mailserveren. Følg nedenstående trin for at konfigurere konfigurationen. Mange pakker er tilgængelige i PHP til afsendelse af en e-mail. msmtp er en PHP-mailserverklient, der bruges i denne tutorial til at sende e-mail ved hjælp af PHP mail () -funktionen.

Trin:

Kør følgende kommando for at installere msmtp pakke på Ubuntu for at opsætte mailserveren:

$ sudo apt-get install msmtp

Opret en konfigurationsfil med den navngivne / etc / msmtprc med følgende kommando:

$ sudo nano / etc / msmtprc

Føj følgende indhold til filen. Tilføj den gyldige e-mail-adresse til bruger og den gyldige adgangskode til adgangskode der bruges til at sende en e-mail. Indstil afsenderens e-mail-adresse til form værdi.

standardindstillinger
tls på
tls_starttls til
tls_trust_file / etc / ssl / certs / ca-certifikater.crt
konto standard
vært smtp.gmail.com
havn 587
godkend
bruger brugernavn @ gmail.com
adgangskode user_password
fra sender_email_adresse

Kør følgende kommandoer for at indstille ejerskabet og tilladelsen til / etc / msmtprc-fil:

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

Åbn php.ini fil og rediger følgende indhold med følgende værdier:

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

Syntaks:

bool mail (streng $ til, streng $ emne, streng $ besked [, blandet $ ekstra_hoved [, streng $ ekstra_parametre]])

Denne funktion kan tage fire argumenter. Det første argument tager modtagerens e-mail-adresse. Det andet argument tager emnet for e-mailen. Det tredje argument tager e-mail-kroppen. Det sidste argument er valgfrit, og det indeholder yderligere oplysninger om e-mailen som en streng eller en matrix.

Afsendelse af e-mail ved hjælp af mail () -funktionen

Forskellige eksempler på at sende en e-mail ved hjælp af mail () -funktionen i PHP vises i dette afsnit af selvstudiet.

Eksempel 1: Send en simpel e-mail med tekst

Dette eksempel viser, hvordan en simpel tekst-e-mail kan sendes ved hjælp af funktionen mail (). Opret en PHP-fil med følgende script.

Du skal indstille en gyldig e-mail-adresse til $ til variabel for at få output fra følgende script. En simpel tekst indstilles som en meddelelsestekst.

// Indstil modtagerens e-mail-adresse
$ to = "[email protected]";
// Indstil emnet for e-mailen
$ subject = "Det er en test-e-mail";
// Indstil e-mail-kroppen
$ message = "Det tester e-mail-organet";
// Indstil headeroplysninger
$ headers = "Fra: [email protected] \ r \ n";
$ overskrifter .= "Svar til: [e-mail-beskyttet] \ r \ n";
// Send e-mail ved hjælp af besked mail () funktion
hvis (mail ($ til, $ emne, $ besked, $ overskrifter))

ekko "E-mail er sendt.\ r \ n ";

andet
ekko "E-mail er ikke sendt.
";

?>

Følgende output vises efter kørsel af scriptet fra webserveren, hvis mail () -funktionen fungerer korrekt.


Følgende output vises, hvis du tjekker indbakken for den e-mail-adresse, der er indstillet som modtagerens e-mail-adresse.

Eksempel 2: Send en HTML-formateret e-mail

Dette eksempel viser, hvordan en HTML-formateret e-mail kan sendes ved hjælp af mail () -funktionen. Opret en PHP-fil med følgende script.

$ besked variabel initialiseres med HTML-indhold, der sendes som en e-mail-instans. Det er nævnt i $ header variabel, at indholdet af e-mailen er HTML.

// Indstil modtagerens e-mail-adresse
$ to = "[email protected]";
// Indstil emnet for e-mailen
$ subject = 'Registrering lykkedes';
// Indstil e-mail-kroppen
$ besked = '

Din registrering er gennemført.


brugernavn = fahmida20

adgangskode = aswQ34ghqw


';
// Indstil vognretur
$ nl = "\ r \ n";
// Indstil indholdstypeoverskrift
$ headers = 'MIME-version: 1.0 '.$ nl;
$ overskrifter .= 'Indholdstype: tekst / html; charset = iso-8859-1 '.$ nl;
// Indstil de yderligere overskriftsoplysninger
$ overskrifter .= 'Til: Mehrab Hossain'.$ nl;
$ overskrifter .= 'Fra: Admin'.$ nl;
$ overskrifter .= 'Cc: [email protected]'.$ nl;
// Send e-mail ved hjælp af besked mail () funktion
hvis (mail ($ til, $ emne, $ besked, $ overskrifter))
ekko "E-mail er sendt med succes.\ r \ n ";

andet
ekko "E-mail er ikke sendt. \ r \ n ";

?>

Følgende output vises efter kørsel af scriptet fra webserveren, hvis funktionen mail () fungerer korrekt.


Følgende output vises, hvis du tjekker indbakken for den e-mail-adresse, der er indstillet som modtagerens e-mail-adresse.

Eksempel 3: Send en e-mail med vedhæftet fil

Dette eksempel viser, hvordan en e-mail kan sendes ved at vedhæfte en tekstfil. Opret en tekstfil med følgende script.

Indholdet af tekstfilen læses og kodes før vedhæftning, og funktionen md5 () bruges i scriptet til at generere et tilfældigt tal til blandet indhold. Alle nødvendige oplysninger tilføjes i $ overskrifter og $ besked variabler inden afsendelse af e-mailen.

// Indstil modtagerens e-mail-adresse
$ to = "[email protected]";
// Indstil emnet for e-mailen
$ subject = "Filvedhæftning";
// Indstil vognretur
$ nl = "\ r \ n";
// Indstil en tilfældig hash, der skal bruges til blandet indhold
$ separator = md5 (tid ());
// Læs indholdet af den vedhæftede fil
$ filnavn = 'myfile.txt ';
$ indhold = file_get_contents ($ filnavn);
$ indhold = chunk_split (base64_encode ($ indhold));
// Indstil e-mail-beskeden med vedhæftede oplysninger
$ message = "-" . $ separator . $ nl;
$ besked .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ besked .= "Indholdsoverførsel-kodning: 8bit" . $ nl;
$ besked .= "Der er vedhæftet en tekstfil med e-mailen." . $ nl;
$ besked .= "-" . $ separator . $ nl;
$ besked .= "Content-Type: application / octet-stream; name =" " . $ filnavn . "" " . $ nl;
$ besked .= "Indhold-overførsel-kodning: base64" . $ nl;
$ besked .= "Indholdsdisponering: vedhæftet fil" . $ nl;
$ besked .= $ indhold . $ nl;
$ besked .= "-" . $ separator . "-";
// Indstil indholdstypeoverskrift
$ headers = 'MIME-version: 1.0 '.$ nl;
$ overskrifter .= "Fra: [email protected]".$ nl;
$ overskrifter .= "Svar til: [e-mail-beskyttet]".$ nl;
$ overskrifter .= "Content-Type: multipart / mixed; boundary =" " . $ separator . "" " .$ nl;
// Send e-mail ved hjælp af besked mail () funktion
hvis (mail ($ til, $ emne, $ besked, $ overskrifter))
ekko "E-mail er sendt med vedhæftet fil med succes.\ r \ n ";

andet
ekko "E-mail er ikke sendt. \ r \ n ";

?>

Følgende output vises efter kørsel af scriptet fra webserveren, hvis mail () -funktionen fungerer korrekt.


Følgende output vises, hvis du markerer indbakken for den e-mail-adresse, der er indstillet som modtagerens e-mail-adresse.

Konklusion

Der findes mange måder i PHP til at sende e-mails. PHP mail () -funktionen fungerer ikke korrekt på Ubuntu efter indstilling af konfigurationen. Denne tutorial viser de nødvendige konfigurationer og måden at sende e-mails ved hjælp af PHP mail () -funktionen.

Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...
OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...
OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...