I denne artikkelen skal vi utforske Swift Mailer-biblioteket, som lar deg sende e-poster fra PHP-applikasjoner. Fra og med installasjon og konfigurasjon, går vi gjennom et eksempel på ekte verden som demonstrerer ulike aspekter ved å sende e-post ved hjelp av Swift Mailer-biblioteket.
Når det gjelder å sende e-post i PHP-applikasjoner, har du en mengde alternativer å velge mellom. Du kan til og med ende opp med å lage ditt eget wrapper for å sette opp e-postfunksjoner raskt. Men du har alltid lykke til hvis du bruker et godt vedlikeholdt og funksjonsrikt bibliotek.
Swift Mailer er et populært bibliotek for å sende e-post fra PHP-applikasjoner, og det er allment akseptert av PHP-fellesskapet. Det er et funksjonsrikt bibliotek i den forstand at det dekker nesten alle aspekter ved å sende e-post, fra å sette opp forskjellige transporter for å tilpasse meldingen som blir sendt.
Faktisk er det en ganske enkel prosess for å sende e-post med Swift Mailer-biblioteket.
I neste avsnitt går vi gjennom et eksempel på ekte verden for å demonstrere hver av de nevnte trinnene.
I denne delen går vi gjennom installasjon og konfigurasjon av Swift Mailer-biblioteket. Installasjonen er ganske enkel, da den allerede er tilgjengelig som komposerpakke. Før vi går videre, må du kontrollere at du har installert Komponisten fordi vi trenger det for å installere Swift Mailer-biblioteket.
Når du har installert Komponist, fortsett og ta tak i Swift Mailer-biblioteket ved å bruke følgende kommando.
$ komponent krever "swiftmailer / swiftmailer: ^ 6,0"
Med dette bør Swift Mailer-biblioteket installeres, sammen med de nødvendige avhengighetene i selger katalogen. Og innholdet i den nyopprettede composer.json skal se slik ut:
"krever": "swiftmailer / swiftmailer": "^ 6.0"
Så det er installasjonsdelen, men hvordan skal du bruke den? Faktisk er det bare et spørsmål om å inkludere autoload.php fil opprettet av Komponist i din søknad, som vist i følgende utdrag.
I det forrige avsnittet undersøkte vi hvordan du installerer Swift Mailer-biblioteket ved hjelp av Composer. I denne delen begynner vi å implementere et ekteeksempel.
Gå videre og opprett email.php fil med følgende innhold.
sett Brukernavn ('xxxxxxxx') -> setPassword ('xxxxxxxx'); // Opprett Mailer ved hjelp av din opprettede Transport $ mailer = ny Swift_Mailer ($ transport); // Opprett en melding $ message = new Swift_Message (); // Sett et "emne" $ melding-> setSubject ('Demo melding ved hjelp av SwiftMailer biblioteket.'); // Sett "Fra adresse" $ melding-> setFrom (['[email protected]' => 'avsendernavn']); // Sett "Til adresse" [Bruk setTo-metode for flere mottakere, argumentet skal være array] $ message-> addTo ([email protected] ',' mottakernavn '); // Legg til "CC" -adresse [Bruk setCc-metode for flere mottakere, argumentet skal være array] $ message-> addCc ([email protected] ',' mottakernavn '); // Legg til "BCC" -adresse [Bruk setBcc-metode for flere mottakere, argumentet skal være array] $ message-> addBcc ([email protected] ',' mottakernavn '); // Legg til en "Vedlegg" (Den dynamiske data kan også festes) $ attachment = Swift_Attachment :: fromPath ('example.xls'); $ Festemidler-> setFilename ( 'Rapport.xls'); $ Melding-> feste ($ vedlegg); // Legg til inline "Image" $ inline_attachment = Swift_Image :: fromPath ('nature.jpg'); $ cid = $ message-> embed ($ inline_attachment); // Angi vanlig tekst "Body" $ message-> setBody ("Dette er teksttekstteksten i meldingen. \ NThanks, \ nAdmin"); // Sett en "Body" $ message-> addPart ('Dette er HTML-versjonen av meldingen.
Eksempel på inline bilde:
Takk,
Admin ',' text / html '); // Send meldingen $ result = $ mailer-> send ($ message); fangst (Unntak $ e) echo $ e-> getMessage ();
La oss gå gjennom hvordan denne koden fungerer.
Swift Mailer-biblioteket støtter forskjellige transporter som SMTP og Sendmail mens du sender en e-post. Så det første du må gjøre er å initialisere transportere
gjenstand.
I eksemplet ovenfor har jeg brukt SMTP-transporten til å sende e-post.
$ transport = (ny Swift_SmtpTransport ('smtp.hostname', 25)) -> setUsername ('xxxxxxxx') -> setPassword ('xxxxxxxx');
Selvfølgelig, hvis du vil bruke Sendmail-protokollen, må du initialisere den tilsvarende Swift_SendmailTransport
gjenstand.
// Opprett SendMail Transport $ transport = ny Swift_SendmailTransport ('/ usr / sbin / sendmail -bs');
Når transporten er opprettet, må vi initialisere et mailerobjekt og overføre transporten vi allerede har opprettet.
// Opprett Mailer ved hjelp av din opprettede Transport $ mailer = ny Swift_Mailer ($ transport);
Etter å ha opprettet transport- og mailerobjektene, er det eneste gjenværende å ordne Swift_Message
objekt og dekorere det med de nødvendige egenskapene.
// Opprett en melding $ message = new Swift_Message ();
Nå skal vi bruke $ melding
Motta å forberede innholdet i meldingen vår. Til å begynne med, setSubject
Metoden lar deg sette emnet til e-posten.
// Sett et "emne" $ melding-> setSubject ('Demo melding ved hjelp av SwiftMailer biblioteket.');
De setFrom
Metoden brukes til å angi e-postadressen "Fra".
// Sett "Fra adresse" $ melding-> setFrom (['[email protected]' => 'Avsendernavn']);
Fortsett, la oss angi e-postadressen "Til". Faktisk er det et par variasjoner for å sette mottakerne av e-posten. Hvis du vil angi en enkelt mottaker, kan du bruke legge til
metode, og satt til
metode, derimot, brukes til å sette flere mottakere.
// Sett "Til adresse" [Bruk setTo-metode for flere mottakere, argumentet skal være array] $ message-> addTo ([email protected] ',' mottakernavn ');
De addCc
og addBcc
Metoder brukes til å angi henholdsvis CC og BCC adressene til e-posten.
// Legg til "CC" -adresse [Bruk setCc-metode for flere mottakere, argumentet skal være array] $ message-> addCc ([email protected] ',' mottakernavn '); // Legg til "BCC" -adresse [Bruk setBcc-metode for flere mottakere, argumentet skal være array] $ message-> addBcc ([email protected] ',' mottakernavn ');
Neste, la oss se på hvordan du kan legge ved en fil til en e-post.
Du må først instantiere Swift_Attachment
objekt med et gyldig filnavn. Etter at du har opprettet vedleggsobjektet, kan du legge det til e-postadressen med feste
metode. Du kan også bruke setFilename
metode hvis du vil endre filnavnet som vil vises i meldingsvedlegget.
// Legg til en "Vedlegg" (Den dynamiske data kan også festes) $ attachment = Swift_Attachment :: fromPath ('example.xls'); $ Festemidler-> setFilename ( 'Rapport.xls'); $ Melding-> feste ($ vedlegg);
Sammen med vanlige filvedlegg, vil du noen ganger legge inn bilder i meldingen. Du kan gjøre det ved å bruke embed
metode, som vist i følgende utdrag. De embed
Metoden returnerer den unike IDen til den innebygde objekten, som du senere kan bruke i meldingen mens du refererer til bildet via src
eiendom.
// Legg til inline "Image" $ inline_attachment = Swift_Image :: fromPath ('nature.jpg'); $ cid = $ message-> embed ($ inline_attachment);
Deretter la vi sette e-postkroppen ved hjelp av setBody
metode.
// Angi vanlig tekst "Body" $ message-> setBody ("Dette er teksttekstteksten i meldingen. \ NThanks, \ nAdmin");
Hvis du vil angi HTML-versjonen av meldingen, kan du bruke addPart
metode, som vist i følgende utdrag. Som du ser, bruker vi $ cid
for å referere til bildet vi innebygde tidligere.
// Sett en "Body" $ message-> addPart ('Dette er HTML-versjonen av meldingen.
Eksempel på inline bilde:
Takk,
Admin ',' text / html ');
Til slutt bruker vi sende
Metode for Mailer-objektet for å sende e-posten.
// Send meldingen $ result = $ mailer-> send ($ message);
Prøv å kjøre skriptet, og du bør motta en e-post! Gi meg beskjed i kommentarseksjonen hvis du møter eventuelle problemer.
I dag så vi på et av de mest populære PHP-bibliotekene for å sende e-post: Swift Mailer. Med dette biblioteket kan du enkelt sende e-post fra PHP-skriptene dine.
Du er velkommen til å legge inn dine tanker og spørsmål ved hjelp av skjemaet nedenfor.