? Den " post " -funksjonen brukes i PHP til å sende e-postmeldinger. Mens PHP pålegger ikke spesifikt begrensninger på størrelsen av en e-postmelding , betyr det satt en grense på hvor mye minne det vil bevilge til ett skript . Det har også en grense på maksimalt antall tegn som kan være på én linje i brødteksten i en e-postmelding . Fordi PHP releer 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 "mail " Function
PHP " post "-funksjonen tar tre obligatoriske og to valgfrie parametere , 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 parameteren 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 videresendt til e-postserveren . For eksempel : en
$ resultat = mail ( $ til , $ emne, $ melding, $ overskrifter ) ;
Epost Størrelse
PHP ikke pålegge 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 -fil , 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 å 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 en PHP -funksjon.
Tegnbegrensningene
PHP pålegger begrense av 70 tegn for hver linje i teksten i en e-postmelding . Dette betyr at du må sette inn linjeskift karakter " \\ n" å bryte en e-postmelding til flere linjer dersom meldingen er mer enn 70 tegn lang. PHP " wordwrap "-funksjonen vil gjøre dette for deg ved å sende den meldingen streng og maksimal bredde på 70, for eksempel : en
$ resultat = mail ( $ til , $ emne, wordwrap ( $ melding, 70 ) , $ overskrifter ) ;
PHP Relay
PHP ikke sende en epost -melding. Det releer en melding til en mail transport agent , eller MTA , for eksempel Exim , Microsoft Exchange , Postfix , qmail eller Sendmail . MTA sender e-post til mottakeren. Avkastningen verdi fra PHP " post "-funksjonen indikerer suksess for releet 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 " post "-funksjonen returnerer et vellykket resultat, og meldingen vil mislykkes med MTA . MTA vil typisk sende en e-post til avsenderen om at meldingen ikke ble sendt fordi den oversteg den maksimale størrelsen tillatt.