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 msmtpOpprett en konfigurasjonsfil med navnet / etc / msmtprc med følgende kommando:
$ sudo nano / etc / msmtprcLegg 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.
standardinnstillingertls 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.comsmtp_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.