php

Användning av e-post () -funktionen i PHP på Ubuntu

Användning av e-post () -funktionen i PHP på Ubuntu

Mail () -funktionen är en inbyggd PHP-funktion som används för att skicka e-post från localhost. Men vissa konfigurationer krävs för att skicka e-post med den här funktionen. Du behöver den riktiga e-postserverinformationen för att konfigurera konfigurationen. Du kan använda e-postserverinformationen på din aktiva värdserver, eller så kan du använda all gratis e-postserverinformation. Ett Gmail-konto och SMTP-serverinformationen för Gmail används i den här självstudien för att skicka e-post med e-postfunktionen ().

Inställningskonfiguration

Två filer måste ändras för att konfigurera konfigurationen: php.ini fil och en annan fil krävs för att konfigurera för att konfigurera e-postservern. Följ stegen nedan för att ställa in konfigurationen. Många paket finns i PHP för att skicka ett e-postmeddelande. msmtp är en PHP-e-postserverklient som används i denna handledning för att skicka e-post med hjälp av PHP mail () -funktionen.

Steg:

Kör följande kommando för att installera msmtp paket på Ubuntu för att ställa in e-postservern:

$ sudo apt-get install msmtp

Skapa en konfigurationsfil med namnet / etc / msmtprc med följande kommando:

$ sudo nano / etc / msmtprc

Lägg till följande innehåll i filen. Lägg till giltig e-postadress för användare och det giltiga lösenordet för Lösenord som kommer att användas för att skicka ett mejl. Ställ in avsändarens e-postadress för form värde.

standardvärden
tls på
tls_starttls på
tls_trust_file / etc / ssl / certs / ca-certifikat.crt
kontostandard
värd smtp.gmail.com
port 587
autentisera på
användarnamn @ gmail.com
lösenord user_password
från avsändar-e-postadress

Kör följande kommandon för att ställa in äganderätten och behörigheten för / etc / msmtprc-fil:

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

Öppna php.ini fil och ändra följande innehåll med följande värden:

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

Syntax:

bool mail (sträng $ till, sträng $ ämne, sträng $ meddelande [, blandad $ ytterligare_huvud [, sträng $ ytterligare_parametrar]])

Denna funktion kan ta fyra argument. Det första argumentet tar emot mottagarens e-postadress. Det andra argumentet tar föremålet för e-postmeddelandet. Det tredje argumentet tar e-postadressen. Det sista argumentet är valfritt och det innehåller ytterligare information om e-postmeddelandet som en sträng eller en matris.

Skicka e-post med e-post () -funktionen

Olika exempel på att skicka ett e-postmeddelande med e-postfunktionen () i PHP visas i det här avsnittet i handledningen.

Exempel 1: Skicka ett enkelt textmeddelande

Det här exemplet visar hur ett enkelt text-e-postmeddelande kan skickas med funktionen mail (). Skapa en PHP-fil med följande skript.

Du måste ange en giltig e-postadress för $ till variabel för att få utdata från följande skript. En enkel text ställs in som ett meddelandetext.

// Ställ in mottagarens e-postadress
$ to = "[email protected]";
// Ställ in ämnet för e-postmeddelandet
$ subject = "Det är ett test-e-postmeddelande";
// Ställ in e-postadressen
$ message = "Det testar e-postkroppen";
// Ställ in rubrikinformation
$ headers = "Från: [email protected] \ r \ n";
$ headers .= "Svara till: [e-postskyddad] \ r \ n";
// Skicka e-post med funktionen e-post ()
if (mail ($ to, $ subject, $ message, $ headers))

echo "E-postmeddelandet har skickats.\ r \ n ";

annan
eko "E-post har inte skickats.
";

?>

Följande utdata visas när man kört skriptet från webbservern om e-postfunktionen () fungerar korrekt.


Följande utdata visas om du markerar inkorgen för e-postadressen som har ställts in som mottagarens e-postadress.

Exempel 2: Skicka ett HTML-formaterat e-postmeddelande

Detta exempel visar hur ett HTML-formaterat e-postmeddelande kan skickas med e-post () -funktionen. Skapa en PHP-fil med följande skript.

$ meddelande variabel initieras med HTML-innehåll som skickas som en e-postadress. Det nämns i $ header variabel att innehållet i e-postmeddelandet är HTML.

// Ställ in mottagarens e-postadress
$ to = "[email protected]";
// Ställ in ämnet för e-postmeddelandet
$ subject = 'Registrering lyckades';
// Ställ in e-postadressen
$ meddelande = '

Din registrering är klar.


användarnamn = fahmida20

lösenord = aswQ34ghqw


';
// Ställ in vagnretur
$ nl = "\ r \ n";
// Ställ in innehållstypsrubriken
$ headers = 'MIME-version: 1.0 '.$ nl;
$ headers .= 'Innehållstyp: text / html; charset = iso-8859-1 '.$ nl;
// Ställ in ytterligare rubrikinformation
$ headers .= 'Till: Mehrab Hossain'.$ nl;
$ headers .= 'Från: Admin'.$ nl;
$ headers .= 'Cc: [email protected]'.$ nl;
// Skicka e-post med funktionen e-post ()
if (mail ($ to, $ subject, $ message, $ headers))
echo "E-postmeddelandet har skickats.\ r \ n ";

annan
eko "E-post har inte skickats. \ r \ n ";

?>

Följande utdata visas när man kört skriptet från webbservern om e-postfunktionen () fungerar korrekt.


Följande utdata visas om du markerar inkorgen för e-postadressen som har ställts in som mottagarens e-postadress.

Exempel 3: Skicka ett e-postmeddelande med bilagan

Det här exemplet visar hur ett e-postmeddelande kan skickas genom att bifoga en textfil. Skapa en textfil med följande skript.

Innehållet i textfilen läses och kodas före bifogning och funktionen md5 () används i skriptet för att generera ett slumpmässigt tal för blandat innehåll. All nödvändig information läggs till i $ headers och $ meddelande variabler innan du skickar e-postmeddelandet.

// Ställ in mottagarens e-postadress
$ to = "[email protected]";
// Ställ in ämnet för e-postmeddelandet
$ subject = "File Attachment";
// Ställ in vagnretur
$ nl = "\ r \ n";
// Ställ in en slumpmässig hash som ska användas för blandat innehåll
$ separator = md5 (tid ());
// Läs innehållet i den bifogade filen
$ filnamn = 'minfil.Text';
$ content = file_get_contents ($ filnamn);
$ content = chunk_split (base64_encode ($ content));
// Ställ in e-postmeddelandet med information om bilagor
$ message = "-" . $ separator . $ nl;
$ meddelande .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ meddelande .= "Innehållsöverföring-kodning: 8bit" . $ nl;
$ meddelande .= "En textfil bifogas e-postmeddelandet." . $ nl;
$ meddelande .= "-" . $ separator . $ nl;
$ meddelande .= "Content-Type: application / octet-stream; name =" " . $ filnamn . "" " . $ nl;
$ meddelande .= "Innehållsöverföring-kodning: base64" . $ nl;
$ meddelande .= "Content-Disposition: attachment" . $ nl;
$ meddelande .= $ innehåll . $ nl;
$ meddelande .= "-" . $ separator . "-";
// Ställ in innehållstypsrubriken
$ headers = 'MIME-version: 1.0 '.$ nl;
$ headers .= "Från: [email protected]".$ nl;
$ headers .= "Svara till: [e-postskyddad]".$ nl;
$ headers .= "Content-Type: multipart / mixed; boundary =" " . $ separator . "" " .$ nl;
// Skicka e-post med funktionen e-post ()
if (mail ($ to, $ subject, $ message, $ headers))
echo "E-postmeddelandet har skickats med bilagan framgångsrikt.\ r \ n ";

annan
eko "E-post har inte skickats. \ r \ n ";

?>

Följande utdata visas efter att man kört skriptet från webbservern om e-postfunktionen () fungerar korrekt.


Följande utdata visas om du markerar inkorgen för e-postadressen som har ställts in som mottagarens e-postadress.

Slutsats

Det finns många sätt att skicka e-post i PHP i PHP. PHP mail () -funktionen fungerar inte korrekt på Ubuntu efter att konfigurationen har ställts in. Denna handledning visar de nödvändiga konfigurationerna och sättet att skicka e-postmeddelanden med hjälp av PHP mail () -funktionen.

Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...
Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...
Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...