De functie 'e-mail' wordt gebruikt in PHP om e-mail berichten te verzenden. Terwijl PHP beperkingen op de grootte van een e-mailbericht geen specifiek legt, stelt het een limiet op de hoeveelheid geheugen die hij aan elk één script toewijzen zal. Het heeft ook een limiet op het maximum aantal tekens dat op één regel in de hoofdtekst van een e-mailbericht worden kan. Omdat PHP Relais een bericht naar een e-mailserver, wordt een bericht kan mislukken zelfs nadat PHP een succes geeft als het bericht is mislukt omdat de beperkingen die zijn opgelegd door de e-mailserver.
PHP 'mail' functie
De PHP 'mail' functie neemt drie vereist en twee optionele parameters, die allemaal strings zijn. De eerste parameter bevat het e-mailadres van de ontvanger. De tweede is het onderwerp van het bericht. De derde parameter is het e-mailbericht zelf. De vierde parameter bevat extra headers zoals "Uit" "Cc" en "Bcc." De laatste parameter bevat alle vlaggen die moeten worden doorgegeven op de opdrachtregel. De functie geeft als resultaat een Boolean-waarde die aangeeft of het bericht succesvol was doorgegeven aan de e-mailserver. Bijvoorbeeld:
$result = mail ($ $subject, $message, $headers);
E-mail formaat
PHP legt geen eventuele speciale limieten voor de grootte van een e-mailbericht. Het, echter, bepaalt de maximale hoeveelheid geheugen die een enkel script kan verbruiken. Deze instelling heet "memory_limit" en kan worden gewijzigd in het setup-bestand "php.ini", meestal te vinden in"/ etc/php5/apache2 /." De standaardinstelling is 8 MB voor PHP-versies ouder dan 5.2 en 128 MB in PHP 5.2 en hoger. Aangezien een e-mailbericht een tekenreeks die is doorgegeven aan een functie is, geen die string het script te overtreffen de "memory_limit" parameter. Deze limiet wordt niet beïnvloed door e-mailbijlagen, omdat de inhoud van een bijlage niet in het geheugen aan een PHP functie zijn doorgegeven.
Tekenlimieten
PHP legt een limiet van 70 tekens voor elke regel in de tekst van een e-mailbericht. Dit betekent dat je invoegen het line feed-karakter "\n moet" te breken een e-mailbericht in meerdere regels als de boodschap meer dan 70 tekens lang is. De PHP "wordwrap" functie zal dit voor u doen door het de bericht-tekenreeks en de maximale breedte van 70, bijvoorbeeld:
$result = mail ($aan, $subject, wordwrap ($message, 70), $headers);
PHP Relay
PHP heeft een e-mailbericht niet verzenden. Het Relais een bericht naar een mail transport agent, of MTA, zoals Exim, Microsoft Exchange, Postfix, qmail en Sendmail. De MTA verstuurt de e-mail naar de ontvanger. De retourwaarde van de PHP "mail"-functie toont u het succes van het Relais aan de MTA, niet van de bezorging bij de geadresseerde. Als een MTA beperkingen op de grootte van een e-mail legt, inclusief bijlagen, en het bericht dat limiet overschrijdt, de PHP 'mail' functie geeft als resultaat dat een succesvol resultaat en de boodschap zal mislukken met de MTA. De MTA zal meestal Stuur een mailtje naar de afzender die aangeeft dat het bericht niet verzonden werd omdat het meer dan de maximumgrootte die is toegestaan.