Á síðunni
http://is2.php.net/manual/en/ref.mail.php er allt sem þú þarft að vita um email functions í PHP.
En sem dæmi um einföldustu tegund scripts er:(Hef ekki testað þetta. Skrifaði bara hér inn. En ætti að koma þér af stað.)
Það eru 2 hlutir til boða. Ef þú rekur serverinn og mail configið er stillt í php.ini fælnum þá er skítlétt að senda mail.
Gerir það bara svona.
—
<?PHP
$mailSubject = “Síðan mín er að verpa eggjum”;
$mailBody = “messageið þitt. Vilt eflaust tengja við $_GET eða eitthvað standard msg”;
$smtpFrom = “sidanmin@titti.is”;
$smtpTo = “TiTTi@titti.is”;
mail($smtpTo,$mailSubject,$mailBody,“From: $smtpFrom\r\n”);
?>
—
Ef php.ini mail configið er ekki stillt eða web hosting fyrirtækið vill ekki leyfa það þá geriru bara hlutina sjálfur. Mun skemmtilegra líka að leika sér í þessu. ;) Það eru akkurat svona ip communication sem mér finnst skemmtilegast að bú til. Game server queryer er bara skemmtilegt og krefjandi verk.
—
<?PHP
$mailSubject = “Síðan mín er að verpa eggjum”;
$mailBody = “messageið þitt. Vilt eflaust tengja við $_GET eða eitthvað standard msg”;
$smtpFrom = “sidanmin@titti.is”;
$smtpTo = “TiTTi@titti.is”;
$smtpServer = “mail.titti.is”;
// Opna link á port 25 á mail servernum þínu
$fp = @fsockopen($smtpServer, 25);
//Tékka hvort þetta virkaði
if (!$fp) {
// Náði ekki sambandi. Einhver villa. Líklega í hostnameinu sem þú skrifaðir.
echo “Villa: Gat ekki tengst server”;
} else {
// Allt virkar fínt þannig að best er að skrifa póstinn.
@fputs($fp, “HELO localhost\r\n”); // Ætti að vera hostinn sem þú tengist frá. En localhost dugar.
$smtpReturn = @fgets($fp, 512);
@fputs($fp, “MAIL FROM: ” . $smtpFrom . “\r\n”); // Þú ættir að skilja þetta
$smtpReturn = @fgets($fp, 512);
@fputs($fp, “RCPT TO: ” . $smtpTo . “\r\n”); // Þetta líka
$smtpReturn = @fgets($fp, 512);
@fputs($fp, “DATA\r\n”); // Þetta segir að þú sért tilbúinn að skrifa inn sjálfan póstinn
$smtpReturn = @fgets($fp, 512);
@fputs($fp, “Subject: ” . $mailSubject . “\r\n”); // Subjecið verður að vera
$smtpReturn = @fgets($fp, 512);
@fputs($fp, “To: ” . $smtpTo . “\r\n”); // Þetta þarf ekki. En er kurteisara
$smtpReturn = @fgets($fp, 512);
@fputs($fp, “\r\n”); // Bil milli headera og meginmáls.
$smtpReturn = @fgets($fp, 512);
@fputs($fp, “” . $mailBody . “\r\n”); // Sjálfur textinn
$smtpReturn = @fgets($fp, 512);
@fputs($fp, “.\r\n”); // Púnktur til sýna að við erum búinn með þennan póst
$smtpReturn = @fgets($fp, 512);
@fputs($fp, “QUIT\r\n”); // Segja að við séum alveg búnir að öllum pósti.
// Ganga síðan vel frá eftir sig.
@fclose($fp);
}
?>
—
Ok… Ég er smá drukkin að skrifa þetta svo taktu þetta frekar sem guideline. Eins og þú sérð þá captura ég alltaf replyiu yfir í $smtpReturn. Þú ættir að skrifa eitthvað error correction við það en ég er ekki að nenna að gera allt fyrir þig. ;)
Upplýsingar um SMTP standardinn má finna á
http://www.faqs.org/rfcs/rfc2821.html.En svona sem short guide hvernig samskipðtin eiga að líta út þá er hér smá test þar sem við sendum póst manually. Byrjum á að telneta inná port 25 á mail servernum þínum.
C:\> telnet mail.jongretar.com 25
Og svo hefjum við samskiptin:
—
220 mail.jongretar.net ESMTP Postfix
ehlo localhost
250-mail.jongretar.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-XVERP
250 8BITMIME
mail from: jongretar@jongretar.com
250 Ok
rcpt to: zorazmurdock@zorazmurdock.com
250 Ok
data
354 Please start mail input.
Subject: Hello World
Hér byrjar Textinn. Það þarf að koma eitt línubil á milli headerana þar sem subjectið er og svo aðaltextans. Pósturinn er svo endaður á því að hafa einn púnk stakan á línu.
.
250 Mail queued for delivery.
quit
221 Closing connection. Good bye.
—
Þetta er einfaldasta form emails sem hægt er að gera.
http://www.faqs.org/rfcs/rfc2821.html sýnir þér alla hina fídusana ef þú þarft eitthvað flóknara.
Vonandi svaraði þetta spurningunni þinni. ;)<br><br><b>——————————
Jón Grétar Borgþórsson
<a href="
http://www.jongretar.com/">
http://www.jongretar.com/</a></