? Den " post" funktionen bruges i PHP til at sende e-mails. Selvom PHP ikke specifikt indføre begrænsninger på størrelsen af en e-mail , betyder det sat en grænse for mængden af hukommelse , den vil tildele til nogen script. Det har også en grænse for det maksimale antal tegn , der kan være på en enkelt linje i brødteksten i en e-mail . Fordi PHP relæer en besked til en mail- server, kan en meddelelse mislykkes , selv efter PHP indikerer en succes, hvis meddelelsen mislykkes på grund af restriktioner fra mailserveren. PHP "post" Function
PHP " post" funktion tager tre krævede og to valgfrie parametre , som alle er strenge. Den første parameter indeholder e-mail- adressen på modtageren . Den anden har emnet for meddelelsen . Den tredje parameter er e-mailen selv. Den fjerde parameter indeholder ekstra headers som "From ", " Cc " og " Bcc . " Det sidste parameter indeholder nogen flag, der bør videregives kommandolinjen. Funktionen returnerer en boolesk værdi, der angiver, om beskeden succes blev videregivet til mailserveren . For eksempel : Hej
$ result = mail ( $ til , $ emne, $ besked , $ headers ),
Email Size
PHP ikke fastsat nogen særlige begrænsninger på størrelsen af en e-mail . Det betyder dog , fastsætte den maksimale mængde hukommelse , at en enkelt script kan forbruge . Denne indstilling kaldes " memory_limit ", og kan ændres i " php.ini " setup fil , normalt findes i " /etc/php5/apache2 /". Standardindstillingen er 8 MB til PHP versioner før 5.2 og 128 MB i PHP 5.2 og senere . Da en e-mail er en streng i en funktion , kan denne streng ikke forårsage scriptet at overskride " memory_limit " parameter. Denne grænse er ikke påvirket af vedhæftede filer , fordi indholdet af en vedhæftet fil ikke er gået i hukommelsen til en PHP -funktion.
Tegnbegrænsninger
PHP pålægger en begrænse af 70 tegn for hver linje i teksten i en e-mail . Det betyder, at du nødt til at indsætte linjeskift tegn " \\ n" for at bryde en e-mail til flere linjer , hvis meddelelsen er mere end 70 tegn. PHP " wordwrap "-funktionen vil gøre dette for dig ved at føre den besked streng, og maksimal bredde på 70 , for eksempel : Hej
$ result = mail ( $ til , $ emne, wordwrap ( $ besked , 70) , $ headers ) ;
PHP Relay
PHP ikke sender en e-mail . Det relæer en besked til en mail transport agent eller MTA , såsom Exim , Microsoft Exchange Postfix , qmail eller Sendmail . MTA sender e-mail til modtageren. Afkastet værdien fra PHP "post "-funktionen angiver succes relæet til MTA , ikke for levering til modtageren. Hvis MTA pålægger restriktioner på størrelsen af en e-mail , herunder vedhæftede filer, og beskeden overskrider denne grænse , vil PHP "post "-funktionen returnere et vellykket resultat, og det budskab vil mislykkes med MTA . MTA vil typisk sende en mail til afsenderen angiver, at meddelelsen ikke blev sendt , fordi det overskred den maksimalt tilladte størrelse.