Hva er PHP Mail Character Limit?

Hva er PHP Mail Character Limit?


Den "post" funksjonen brukes i PHP til å sende e-postmeldinger. Mens PHP ikke spesifikt innføre begrensninger på størrelsen av en e-postmelding, betyr det satt en grense på hvor mye minne det vil bevilge til ett script. Den har også en grense på maksimalt antall tegn som kan være på én linje i kroppen av en e-postmelding. Fordi PHP reléer en melding til en e-postserver, kan en melding mislykkes selv etter PHP indikerer en suksess hvis meldingen svikter på grunn av restriksjoner fra e-postserveren.

PHP "post" Function

PHP "post" -funksjonen tar tre nødvendige og to valgfrie parametre, som alle er strenger. Den første parameteren inneholder e-postadressen til mottakeren. Den andre har emnet i meldingen. Den tredje parameteren er e-postmeldingen selv. Den fjerde parameter inneholder ekstra overskrifter som "Fra", "Kopi" og "Blindkopi". Den siste parameteren inneholder noen flagg som skal sendes på kommandolinjen. Funksjonen returnerer en boolsk verdi som angir om meldingen ble vellykket videreformidlet til e-postserveren. For eksempel:

$ Resultat = mail ($ til, $ emne, $ melding, $ overskrifter);

E-post Size

PHP pålegger ikke noen spesielle begrensninger på størrelsen av en e-postmelding. Det gjør imidlertid, etablere den maksimale mengden minne som et enkelt script kan konsumere. Denne innstillingen kalles "memory_limit" og kan endres i "php.ini" setup-filen, som vanligvis finnes i "/ etc / php5 / apache2 /". Standardinnstillingen er 8 MB for PHP versjoner før 5.2 og 128 MB i PHP 5.2 og senere. Siden en e-postmelding er en streng sendes til en funksjon, kan denne strengen ikke føre til at skriptet til å overskride "memory_limit" parameter. Denne grensen er ikke påvirket av e-postvedlegg, fordi innholdet i et vedlegg ikke er gått i minnet til et PHP-funksjonen.

tegn~~POS=TRUNC

PHP pålegger en grense på 70 tegn for hver linje i teksten i en e-postmelding. Dette betyr at du må sette inn linjeskift tegnet "\ n" for å bryte en e-postmelding til flere linjer om meldingen er mer enn 70 tegn lang. PHP "wordwrap" funksjonen vil gjøre dette for deg ved å sende den meldingen strengen og maksimal bredde på 70, for eksempel:

$ Resultat = mail ($ til, $ emne, wordwrap ($ melding, 70), $ overskrifter);

PHP Relay

PHP sender ikke en e-postmelding. Det reléer en melding til en e-post transport agent, eller MTA, som Exim, Microsoft Exchange, Postfix, Qmail eller Sendmail. MTA sender e-post til mottakeren. Returverdien fra PHP "mail" -funksjonen viser suksessen til stafetten til MTA, ikke av leveransen til mottakeren. Hvis en MTA pålegger restriksjoner på størrelsen av en e-post, inkludert vedlegg, og meldingen overskrider denne grensen, vil PHP "mail" -funksjonen returnerer et vellykket resultat, og meldingen vil mislykkes med MTA. MTA vil typisk sende en e-post til avsenderen som indikerer at meldingen ikke ble sendt fordi den oversteg den maksimale størrelsen tillatt.