 |
|
|  |
PHP ¸ÞÀÏ(mail) ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ Ã·ºÎÈÀÏ Àü¼ÛÇϱâ |
|
|
 |
13³â Àü |
¿©±â¼´Â PHP ¸ÞÀÏÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ÷ºÎÈÀÏÀ» Àü¼ÛÇÏ´Â °¡Àå °£´ÜÇÑ Æû¸ÞÀÏ(Form mail)¿¹Á¦¸¦ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
À¥È£½ºÆÃÀ» ÀÌ¿ëÇÏ°í °è½Ã´Ù¸é ´ëºÎºÐ ¼ÂÆÃÀÌ µÇ¾î ÀÖ°ÚÁö¸¸ ½Ã½ºÅÛÀ» Á÷Á¢ ¼³Ä¡ »ç¿ëÇÏ°í °è½Ã´Ù¸é PHPÀÇ mail()ÇÔ¼ö¸¦ »ç¿ëÇϱâ À§Çؼ ¾Æ·¡ÀÇ »çÇ×À» üũÇØ ºÁ¾ß ÇÕ´Ï´Ù.
1.À¯´Ð½º/¸®´ª½º ȯ°æ
php.ini ÆÄÀÏÀÇ º¯¼öÁß sendmail_path °¡ ¿ÏÀüÇÑ °æ·Î·Î ÀâÇô ÀÖ´ÂÁö üũÇØ ºÁ¾ß ÇÕ´Ï´Ù.( php.ini ÀÇ °æ·Î¸¦ ¸ð¸¥´Ù¸é, php ÆÄÀÏÀ» Çϳª ¸¸µé¾î¼ <? phpinfo(); ?> ·Î È®ÀÎ ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. )
sendmail_path = usr/sbin/sendmail -t -i
À§ÀÇ È¯°æº¯¼ö´Â ÀúÈñ ¼¹öÀÇ php.ini ¿¡ ÀÖ´Â °ªÀ» È®ÀÎÇÑ °á°úÀÔ´Ï´Ù.
2.À©µµ¿ìÁî ȯ°æ
À©µµ¿ìÁî ȯ°æÀº µÎ°¡Áö °ªÀ» üũÇØ ºÁ¾ß ÇÕ´Ï´Ù. ù¹ø°·Î php.ini ÆÄÀÏÀÇ º¯¼öÁß SMTP º¯¼ö¿¡ SMTP ¼¹öÀÇ DNS À̸§¶Ç´Â IP ÁÖ¼Ò°¡ ÀâÇô ÀÖ´ÂÁö üũÇØ ºÁ¾ß Çϸç, µÎ¹ø°´Â sendmail_from º¯¼ö¿¡ µðÆúÆ® À̸ÞÀÏ Àü¼ÛÀÚÀÇ
email ÁÖ¼Ò °ªÀÌ ÀÖ´ÂÁö üũÇØ ºÁ¾ß ÇÕ´Ï´Ù.
¸ÞÀÏÇÔ¼öÀÇ ±âº»±¸Á¶
mail( ¹Þ´Â À̸ÞÀÏÁÖ¼Ò, Á¦¸ñ, ³»¿ë, headerÁ¤º¸ );
¸ÞÀÏÇÔ¼öÀÇ ±âº»±¸Á¶´Â À§¿Í °°ÀÌ ¾ÆÁÖ °£´ÜÇÑ ±¸Á¶¸¦ °¡Áö°í ÀÖÀ¸¸ç ÀÌ»óÀÌ ¾øÀ»½Ã 1À» ¸®ÅÏÇÕ´Ï´Ù. ÀÌ»óÀÌ ¾ø´Ù´Â °ÍÀº ¸ÞÀÏÇÔ¼ö°¡ ÀÎÀÚ·Î ¹Þ´Â ÆĶó¹ÌÅÍÀÇ °ªµéÀ» ¹«³ÇÏ°Ô ¹Þ¾Æ µé¿´´Ù´Â °ÍÀ» ÀǹÌÇϸç, ¸ÞÀÏÀü¼ÛÀÇ ¼º°øÀ» ÀǹÌÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.
¾Æ·¡ÀÇ ¿¹Á¦´Â ÷ºÎÆÄÀÏÀÌ ÀÖ´Â Æû¸ÞÀÏ(form mail) Àü¼ÛÀÇ °¡Àå °£´ÜÇÑ ¿¹Á¦À̸ç, ¾Õ´ÜÀÇ Æû(form)¿¡¼ ³Ñ°Ü¹ÞÀº °ªµé
À» ÀÌ¿ëÇØ ¸ÞÀÏÀ» Àü¼ÛÇÏ°Ô µË´Ï´Ù. ¾Æ·¡ÀÇ ¿¹Á¦¿¡¼ »ìÆì º¸½Ç ºÎºÐÀº Çì´õÀÛ¼º, À̸ÞÀÏ º»¹® »ý¼º, ÆÄÀÏ Ã·ºÎ ºÎºÐ
ÀÌ¸ç ¾Õ´ÜÀÇ form ºÎºÐÀ» Æ÷ÇÔÇÑ Àüü ¼Ò½º´Â zip ÆÄÀÏ·Î ¿Ã·Á ³õ°Ú½À´Ï´Ù.
<?
// Æû¿¡¼ ³Ñ¾î¿À´Â °ªµé
//-- $mailTo : ¼ö½ÅÀÚ À̸ÞÀÏÁÖ¼Ò
//-- $mailFrom : ¼Û½ÅÀÚ À̸ÞÀÏÁÖ¼Ò
//-- $fromName : ¼Û½ÅÀÚ¸í ¶Ç´Â Á¤º¸
//-- $title : ¸ÞÀÏÁ¦¸ñ
//-- $content : ¸ÞÀϳ»¿ë
//-- $upfile : ÷ºÎÆÄÀϸí
//*******************************
$boundary = "----" . uniqid("part"); // ±¸ºÐÀÚ »ý¼º
// --- Çì´õÀÛ¼º --- //
$header = "Return-Path: $mailFrom\r\n"; // ¹Ý¼Û À̸ÞÀÏ ÁÖ¼Ò
$header .= "from: $fromName <$mailFrom>\r\n"; // ¼Û½ÅÀÚ¸í, ¼Û½ÅÀÚ À̸ÞÀÏ ÁÖ¼Ò
// --- ÷ºÎÈÀÏÀÌ ÀÖÀ»°æ¿ì --- //
if($upfile && $upfile_size) {
$filename=basename($upfile_name); // ÆÄÀϸí ÃßÃâ
$fp = fopen($upfile,"r"); // ÆÄÀÏ ¿±â
$file = fread($fp,$upfile_size); // ÆÄÀÏ Àбâ
fclose($fp); // ÆÄÀÏ ´Ý±â
if ($upfile_type == ""){
$upfile_type = "application/octet-stream";
}
// --- Çì´õÀÛ¼º --- //
$header .= "MIME-Version: 1.0\r\n"; // MIME ¹öÀü Ç¥½Ã
$header .= "Content-Type: Multipart/mixed; boundary=\"$boundary\""; // ±¸ºÐÀÚ ¼³Á¤, Multipart/mixed ÀÏ °æ¿ì ÷ºÎÈÀÏ
// --- À̸ÞÀÏ º»¹® »ý¼º --- //
$mailbody = "This is a multi-part message in MIME format.\r\n\r\n";
$mailbody .= "--$boundary\r\n";
$mailbody .= "Content-Type: text/html; charset=euc-kr\r\n";
$mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$mailbody .= nl2br(addslashes($content)) . "\r\n";
// --- ÆÄÀÏ Ã·ºÎ ---//
$mailbody .= "--$boundary\r\n";
$mailbody .= "Content-Type: ".$upfile_type."; name=\"".$filename."\"\r\n"; // ³»¿ë
$mailbody .= "Content-Transfer-Encoding: base64\r\n"; // ¾ÏÈ£È ¹æ½Ä
$mailbody .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n"; // ÷ºÎÆÄÀÏÀÎ °ÍÀ» ¾Ë¸²
$mailbody .= base64_encode($file)."\r\n\r\n";
$mailbody .= "--$boundary--"; //³»¿ë ±¸ºÐÀÚ ¸¶Ä§
} else {
// --- Çì´õÀÛ¼º --- //
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: Multipart/alternative; boundary = \"$boundary\"";
// --- À̸ÞÀÏ º»¹® »ý¼º --- //
$mailbody = "--$boundary\r\n";
$mailbody .= "Content-Type: text/html; charset=euc-kr\r\n";
$mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
$mailbody .= nl2br(addslashes($content)) . "\r\n";
$mailbody .= "--$boundary--\r\n\r\n";
}
$result = mail($mailTo,$title,$mailbody,$header);
if($result){
echo "¸ÞÀÏ Àü¼Û¿¡ ¼º°øÇÏ¿´½À´Ï´Ù.";
}else {
echo "¸ÞÀÏ º¸³»±â ½ÇÆÐ";
}
?>
|
|
̵̧ : 531 |
̵̧
¸ñ·Ï
|
|
|  |
|