Hvordan sende en e -post med PHP

Hvordan sende en e -post med PHP

For ethvert nettsted er det et veldig vanlig krav å sende en e -post med PHP -skript. For eksempel, hvis nettstedet inneholder noe registreringsalternativ for brukeren, er det nødvendig. Du kan sende e -post ved hjelp av PHP ved å bruke PHP Mail () Funksjon eller noe PHP -bibliotek. To primært brukte PHP -biblioteker for å sende e -post er Phpmailer og SwiftMailer. Måten å sende en e -post ved hjelp av Mail () Funksjon ble diskutert i en annen tutorial. Bruken av Phpmailer Bibliotek for å sende e -postmeldinger i PHP er påvist i denne opplæringen.

Sende en e -post ved hjelp av Phpmailer:

Phpmailer er et veldig nyttig klassebibliotek som inneholder en samling funksjoner for å sende e -post ved hjelp av PHP. Du kan sende e -post på forskjellige måter fra den lokale serveren ved hjelp av dette biblioteket. Kjør følgende kommando for å installere Phpmailer I Ubuntu -operativsystemet:

$ sudo apt-get install libphp-phpmailer

Forutsetninger:

Du må ha en Gmail -konto for å bruke e -postsendingsanlegget til Phpmailer. Etter installasjon Phpmailer, Du må aktivere alternativet “Tillat mindre sikre apper”Av Gmail -kontoen din.

Ulike eksempler på å sende e -post ved å bruke phpmailer:

Her er følgende bruk av Phpmailer Bibliotek for å sende e -post på forskjellige måter:

Eksempel 1: Sende tekst -e -post

Følgende skript viser måten å sende en enkel e -post ved hjelp av phpmailer. Dette skriptet tildeler fire viktige deler av enhver e -post (fra, til, emne, kropp). setfrom og addadress Metoder brukes til å angi e -postadresser for avsendere og mottaker. Emne og kropp Egenskaper brukes til å angi emnet og kroppen til e -posten. Hvis e -posten sendes riktig, vil suksessmeldingen skrives ut, og hvis e -posten ikke blir sendt, vil feilmeldingen skrives ut.

Krev '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Krev '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// erklære gjenstanden for phpmailer
$ e -post = ny Phpmailer \ Phpmailer \ Phpmailer ();
// Sett opp nødvendig konfigurasjon for å sende e -post
$ e-post-> ISSMTP ();
$ e-post-> smtpauth = true;
$ e-post-> smtpsecure = 'ssl';
$ e-post-> host = "smtp.Gmail.com ";
$ e-post-> port = 465;
// Angi Gmail -adressen som skal brukes til å sende e -post
$ e-post-> brukernavn = "[email protected] ";
// angi gyldig passord for Gmail -adressen
$ e-post-> passord = "passord";
// Angi avsenderens e -postadresse
$ e-post-> setfrom ("[email protected] ");
// Angi e -postadressen til mottakeren
$ e-post-> addaddress ("[email protected] ");
// angi emnet
$ e-post-> emne = "Testing e-post";
// Angi e -postinnhold
$ e-post-> body = "hei! Bruk Phpmailer til å sende e -post ved hjelp av PHP ";
hvis(!$ e-post-> send ())
ekko "Feil:" . $ e-post-> errorinfo;
annet
Echo "e -post er sendt.";

?>

Produksjon:

Følgende utdata vises hvis e -posten er sendt med hell:


Hvis du sjekker mottakerens e -postadresse, vil følgende lignende utdata vises:

Eksempel 2: Send HTML formatert e -post

Du kan sende HTML -formatert e -post ved hjelp av phpmailer. Du må bruke ishtml () med ekte Parameterverdi for å sende HTML formatert e -post. Her, en annen metode Altbody () brukes til å sende e -postinnhold som ren tekst hvis brukeren ikke er i stand til å motta e -posten med HTML -innhold.

Krev '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Krev '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// erklære gjenstanden for phpmailer
$ e -post = ny Phpmailer \ Phpmailer \ Phpmailer ();
// Sett opp nødvendig konfigurasjon for å sende e -post
$ e-post-> ISSMTP ();
$ e-post-> smtpauth = true;
$ e-post-> smtpsecure = 'ssl';
$ e-post-> host = "smtp.Gmail.com ";
$ e-post-> port = 465;
$ e-post-> ishtml (true);
// Angi Gmail -adressen som skal brukes til å sende e -post
$ e-post-> brukernavn = "[email protected] ";
// angi gyldig passord for Gmail -adressen
$ e-post-> passord = "passord";
// Angi avsenderens e -postadresse
$ e-post-> setfrom ("[email protected] ");
// Angi e -postadressen til mottakeren
$ e-post-> addaddress ("[email protected] ");
$ e-post-> emne = 'melding sendt av phpmailer';
$ e-post-> body = '

Hallo!

Jeg bruker phpmailer for å sende e -post

';
$ e-post-> altbody = 'Denne meldingen genereres av ren tekst!';
$ e-post-> ishtml (true);
hvis(!$ e-post-> send ())
ekko "Feil:" . $ e-post-> errorinfo;
annet
Echo "e -post er sendt.";

?>

Produksjon:

Hvis du sjekker mottakerens e -postadresse, vises følgende HTML -formaterte utgang:

Eksempel 3: Sende en e -post ved å legge ved en lokal fil

Mange metoder er tilgjengelige i Phpmailer klasse for å sende vedlagt innhold med e -posten. Legg til vedlegg() Metoden er en av dem som brukes i følgende skript. Denne metoden har en obligatorisk parameter og tre valgfrie parametere.

Addattachment ($ bane, $ navn, $ koding, $ type); Krev '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Krev '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// erklære gjenstanden for phpmailer
$ e -post = ny Phpmailer \ Phpmailer \ Phpmailer ();
// Sett opp nødvendig konfigurasjon for å sende e -post
$ e-post-> ISSMTP ();
$ e-post-> smtpauth = true;
$ e-post-> smtpsecure = 'ssl';
$ e-post-> host = "smtp.Gmail.com ";
$ e-post-> port = 465;
$ e-post-> ishtml (true);
// Angi Gmail -adressen som skal brukes til å sende e -post
$ e-post-> brukernavn = "[email protected] ";
// angi gyldig passord for Gmail -adressen
$ e-post-> passord = "passord";
// Angi avsenderens e -postadresse
$ e-post-> setfrom ("[email protected] ");
// Angi e -postadressen til mottakeren
$ e-post-> addaddress ("[email protected] ");
$ e-post-> addAddress ('[email protected] ');
$ e-post-> emne = 'melding sendt av phpmailer';
$ e-post-> body = 'hei! bruk phpmailer til å sende e -post ved hjelp av php ';
$ e-post-> addattachment ('frukt.tekst');
hvis(!$ e-post-> send ())
ekko "Feil:" . $ e-post-> errorinfo;
annet
Echo "e -post er sendt.";

?>

Produksjon:

Når du sjekker mottakerens e -postadresse, vil den vedlagte filen vises hvis filen er vedlagt riktig med e -posten som vist nedenfor:

Eksempel 4: Sende en e -post ved å legge ved en ekstern fil

Hvis du vil legge ved innhold fra et eksternt sted, kan du bruke AddStringAttachment () Metode for dette formålet. Denne metoden har to parametere. Den første parameteren brukes til å få innhold fra en bestemt URL -plassering, og den andre parameteren brukes til å angi navnet på den vedlagte filen.

addStringAttachment (file_get_contents ($ url), 'filnavn.pdf ');

I det følgende skriptet er URL -adressen til en bildefil satt i den første parameteren, og "myfile.jpg”Det er satt i den andre parameteren for denne metoden for å angi den vedlagte filens navn.

Krev '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Krev '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// erklære gjenstanden for phpmailer
$ e -post = ny Phpmailer \ Phpmailer \ Phpmailer ();
// Sett opp nødvendig konfigurasjon for å sende e -post
$ e-post-> ISSMTP ();
$ e-post-> smtpauth = true;
$ e-post-> smtpsecure = 'ssl';
$ e-post-> host = "smtp.Gmail.com ";
$ e-post-> port = 465;
$ e-post-> ishtml (true);
// Angi Gmail -adressen som skal brukes til å sende e -post
$ e-post-> brukernavn = "[email protected] ";
// angi gyldig passord for Gmail -adressen
$ e-post-> passord = "passord";
// Angi avsenderens e -postadresse
$ e-post-> setfrom ("[email protected] ");
// Angi e -postadressen til mottakeren
$ e-post-> addaddress ("[email protected] ");
$ e-post-> addAddress ('[email protected] ');
$ e-post-> emne = 'melding sendt av phpmailer';
$ e-post-> body = 'hei! bruk phpmailer til å sende e -post ved hjelp av php ';
$ e-post-> addStringAttachment (file_get_contents ('http: // localhost/phpcode/blomst.jpg '),' myfile.jpg ');
hvis(!$ e-post-> send ())
ekko "Feil:" . $ e-post-> errorinfo;
annet
Echo "e -post er sendt.";

?>

Produksjon:

Når du sjekker mottakerens e -postadresse, vil den vedlagte filen vises hvis filen er vedlagt riktig med e -posten som vist nedenfor:

Eksempel 5: Sende e -post med en feilsøkingsmelding

SMTPDEBUG -egenskapen til Phpmailer -klassen brukes til å aktivere feilsøkingsalternativet før du sender e -posten. Etter å ha utført skriptet, er verdien av denne egenskapen satt til 1 i dette skriptet for å vise feilsøkingsmeldingen.

Krev '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Krev '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// erklære gjenstanden for phpmailer
$ e -post = ny Phpmailer \ Phpmailer \ Phpmailer ();
// Aktiver feilsøking
$ e-post-> smtpdebug = 1;
// Sett opp nødvendig konfigurasjon for å sende e -post
$ e-post-> ISSMTP ();
$ e-post-> smtpauth = true;
$ e-post-> smtpsecure = 'ssl';
$ e-post-> host = "smtp.Gmail.com ";
$ e-post-> port = 465;
// Angi Gmail -adressen som skal brukes til å sende e -post
$ e-post-> brukernavn = "[email protected] ";
// angi gyldig passord for Gmail -adressen
$ e-post-> passord = "passord";
// Angi avsenderens e -postadresse
$ e-post-> setfrom ("[email protected] ");
// Angi e -postadressen til mottakeren
$ e-post-> addaddress ("[email protected] ");
// angi emnet
$ e-post-> emne = "Testing e-post";
// Angi e -postinnhold
$ e-post-> body = "hei! Bruk Phpmailer til å sende e -post ved hjelp av PHP ";
hvis(!$ e-post-> send ())
ekko "Feil:" . $ e-post-> errorinfo;
annet
Echo "e -post er sendt.";

?>

Eksempel 6: Sende en e -post til flere adresser

Måten å sende en e -post til flere e -postadresser ved å bruke phpmailer har blitt vist i følgende skript. De addcc () og addBcc () Metoder for denne klassen har blitt brukt til å sende en e -post til flere mottakere om gangen.

Krev '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Krev '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// erklære gjenstanden for phpmailer
$ e -post = ny Phpmailer \ Phpmailer \ Phpmailer ();
// Sett opp nødvendig konfigurasjon for å sende e -post
$ e-post-> ISSMTP ();
$ e-post-> smtpauth = true;
$ e-post-> smtpsecure = 'ssl';
$ e-post-> host = "smtp.Gmail.com ";
$ e-post-> port = 465;
// Angi Gmail -adressen som skal brukes til å sende e -post
$ e-post-> brukernavn = "[email protected] ";
// angi gyldig passord for Gmail -adressen
$ e-post-> passord = "passord";
// Angi avsenderens e -postadresse
$ e-post-> setfrom ("[email protected] ");
// Angi mottakerens e -postadresser
$ e-post-> addAddress ('[email protected] ',' Jafar Iqbal ');
$ e-post-> addAddress ('[email protected] ');
$ e-post-> addReplyTo ('[email protected] ');
$ e-post-> addcc ('[email protected] ');
$ e-post-> addbcc ('[email protected] ');
// angi emnet
$ e-post-> emne = "Testing e-post";
// Angi e -postinnhold
$ e-post-> body = "hei! Bruk Phpmailer til å sende e -post ved hjelp av PHP ";
hvis(!$ e-post-> send ())
ekko "Feil:" . $ e-post-> errorinfo;
annet
Echo "e -post er sendt.";

?>

Produksjon:

Hvis du sjekker mottakerens e -postadresse, vises følgende informasjon:

Konklusjon:

De fleste av e -postsendingsalternativene ved hjelp av Phpmailer -biblioteket ble diskutert i denne opplæringen. Det ble også gitt flere eksempler for å hjelpe PHP -brukerne å lære prosessen med å sende e -postmeldinger enkelt ved å bruke dette biblioteket på forskjellige måter. Vi håper du fant denne artikkelen nyttig. Sjekk de andre Linux -hint -artiklene for flere tips og informasjon.