? Den " post " -funktionen används i PHP för att skicka e-postmeddelanden . Medan PHP inte uttryckligen föreskriva begränsningar för storleken på ett e-postmeddelande , betyder sätta en gräns för hur mycket minne det kommer att fördela något manus . Det finns också en gräns för det maximala antalet tecken som kan finnas på en enda rad i kroppen av ett e-postmeddelande . Eftersom PHP reläer ett meddelande till en e-postserver , kan ett meddelande misslyckas även efter PHP indikerar en framgång om meddelandet misslyckas på grund av begränsningar av e-postservern . PHP " post " Function
PHP " post " -funktionen tar tre obligatoriska och två valfria parametrar , som alla är strängar . Den första parametern innehåller e- postadressen till mottagaren . Den andra har ämnet för meddelandet. Den tredje parametern är e-postmeddelandet själv . Den fjärde parametern innehåller extra rubriker som " Från ", " Kopia" och " Hemlig kopia . " Den sista parametern innehåller några flaggor som ska skickas på kommandoraden . Funktionen returnerar ett booleskt värde som anger om meddelandet framgångsrikt spreds till e-postservern . Till exempel :
$ result = mail ( $ till , $ ämnet , $ message , $ headers ) ,
Email Storlek
PHP inte införa några särskilda begränsningar för storleken på ett e-postmeddelande . Det har dock fastställa den maximala mängden minne som ett enda skript kan konsumera . Denna inställning kallas " memory_limit " och kan ändras i " php.ini " installationsfilen , som vanligtvis finns i " /etc/php5/apache2 /. " Standardinställningen är 8 MB för PHP -versioner före 5.2 och 128MB i PHP 5.2 och senare . Eftersom ett e-postmeddelande är en sträng som skickas till en funktion , kan denna sträng inte orsaka skriptet att överskrida " memory_limit " parametern . Denna begränsning påverkas inte av e-postbilagor eftersom innehållet i en bilaga inte överförs i minnet till en PHP-funktionen .
Teckenbegränsningar
PHP ställer en gräns på 70 tecken för varje rad i texten i ett e-postmeddelande . Detta innebär att du måste infoga tecknet radmatning " \\ n " för att bryta ett e-postmeddelande i flera rader om meddelandet är mer än 70 tecken lång . Den PHP " wordWrap " -funktionen gör det åt dig genom att skicka det budskapet strängen och maximal bredd på 70 , till exempel :
$ result = mail ( $ till , $ ämnet , wordWrap ( $ meddelande , 70 ) , $ headers ) , Addera PHP Relay
PHP inte skicka ett e-postmeddelande . Den vidarebefordrar ett meddelande till en e-postserver , eller MTA , såsom Exim , Microsoft Exchange , Postfix , qmail eller Sendmail . Den MTA skickar e-post till mottagaren . Det returnerade värdet från PHP " post " -funktionen indikerar framgång reläet till MTA , inte för leverans till mottagaren . Om en MTA innebär begränsningar för storleken på ett e-postmeddelande med bilagor , och meddelandet överstiger denna gräns , kommer den PHP " post " -funktionen returnera ett lyckat resultat och meddelandet kommer att misslyckas med MTA . Den MTA kommer vanligtvis skicka ett mail till avsändaren som anger att meddelandet inte skickades eftersom det överskred den maximala storleken tillåten .