Web Programming/GNUBOARD 5

mailer 사용법 (그누보드 Form mail 전송)

myHyem 2019. 5. 21. 22:35

메일 전송이 간단한줄 알았는데 생각보다 어려워서 3시간정도 삽질을 했습니다

 

폼메일 기능은 상담신청 & 문의사항 전송등의 웹페이지 기능을 만들때 사용됩니다

결론은 '별도의 서버 설정 없이 폼에서 메일을 바로 날려보내면 안되나 ?!' 네 안되나 봅니다 ...

제가 찾아보고 지인에게 물어본 바로 메일을 보내기 위해서는

 

1. 운영측에 메일서버가 필요 (돈이 들어감)

2. SMTP 의 이용

 

으로 나누어 지고 주로 2번의 경우를 많이 사용한다 합니다

 

그누보드는 기본적으로 mailer 라는 메일을 보낼 수 있는 함수를 내장하고 있습니다

단 이를 고치지 않고 사용하려면 1번의 메일서버가 필요한거로 보여 검색끝에 mailer 함수를 약간 수정하였습니다

 

/lib/mailer.lib.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
function mailer($fname$fmail$to$subject$content$type=0$file=""$cc=""$bcc="")
{
    global $config;
    global $g5;
 
    // 메일발송 사용을 하지 않는다면
    if (!$config['cf_email_use']) return;
 
    if ($type != 1)
        $content = nl2br($content);
 
    $mail = new PHPMailer();
    if (defined('G5_SMTP'&& G5_SMTP) {
        $mail->IsSMTP();
        $mail->SMTPAuth = true
        $mail->SMTPSecure = "ssl"
        $mail->Host = G5_SMTP;
        $mail->Port = 465
        $mail->Username = "userID";        // SMTP 를 이용할 이메일 주소의 계정부분
        $mail->Password = "userPW";      // 계정의 페스워드
    }
    $mail->CharSet = 'UTF-8';
    $mail->From = $fmail;                 // 발신자 이메일주소
    $mail->FromName = $fname;   // 발신자 이름
    $mail->Subject = $subject;             // 제목
    $mail->AltBody = "";
    $mail->msgHTML($content);           // 내용
    $mail->addAddress($to);                // 받는사람 이메일주소
    if ($cc)
        $mail->addCC($cc);
    if ($bcc)
        $mail->addBCC($bcc);
    if ($file != "") {
        foreach ($file as $f) {
            $mail->addAttachment($f['path'], $f['name']);
        }
    }
    return $mail->send();
}
?>
 
 

원래의 코드에 SMTP 관련 내용을 추가해줍니다

후에 다른쪽에서 mailer() 로 사용하면 됩니다

 

출처 : ...

'Web Programming > GNUBOARD 5' 카테고리의 다른 글

SHOP.HEAD 적용시키기  (0) 2019.05.21