채택완료

복수 계정으로 메일발송 기능 질문

안녕하세요

현재 게시판에 글이 등록되면 

관리자 정보의 메일로 

게시글에 해당하는 메일이 들어오는걸 확인 했습니다.

관리자외, 기타 영업사원의 메일로도 메일을 보내려고 하는데, 

어느 부분을 수정해야 하는지 알 수 있을까요? 

일단 유추한건   lib/경로의 mailer.lib.php 이 파일인데 

여기서 처리하면 되는 걸까요? 

Copy
<?php
if (!defined('_GNUBOARD_')) exit;

include_once(G5_PHPMAILER_PATH.'/PHPMailerAutoload.php');

// 메일 보내기 (파일 여러개 첨부 가능)
// type : text=0, html=1, text+html=2
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);

    $result = run_replace('mailer', $fname, $fmail, $to, $subject, $content, $type, $file, $cc, $bcc);
    
    if( is_array($result) && isset($result['return']) ){
        return $result['return'];
    }

    $mail_send_result = false;

    try {
        $mail = new PHPMailer(); // defaults to using php "mail()"
        if (defined('G5_SMTP') && G5_SMTP) {
            $mail->IsSMTP(); // telling the class to use SMTP
            $mail->Host = G5_SMTP; // SMTP server
            if(defined('G5_SMTP_PORT') && G5_SMTP_PORT)
                $mail->Port = G5_SMTP_PORT;
        }
        $mail->CharSet = 'UTF-8';
        $mail->From = $fmail;
        $mail->FromName = $fname;
        $mail->Subject = $subject;
        $mail->AltBody = ""; // optional, comment out and test
        $mail->msgHTML($content);
        $mail->addAddress($to);
        if ($cc)
            $mail->addCC($cc);
        if ($bcc)
            $mail->addBCC($bcc);
        //print_r2($file); exit;
        if ($file != "") {
            foreach ($file as $f) {
                $mail->addAttachment($f['path'], $f['name']);
            }
        }

        $mail = run_replace('mail_options', $mail, $fname, $fmail, $to, $subject, $content, $type, $file, $cc, $bcc);

        $mail_send_result = $mail->send();

    } catch (Exception $e) {
    }

    run_event('mail_send_result', $mail_send_result, $mail, $to, $cc, $bcc);

    return $mail_send_result;
}

// 파일을 첨부함
function attach_file($filename, $tmp_name)
{
    // 서버에 업로드 되는 파일은 확장자를 주지 않는다. (보안 취약점)
    $dest_file = G5_DATA_PATH.'/tmp/'.str_replace('/', '_', $tmp_name);
    move_uploaded_file($tmp_name, $dest_file);
    $tmpfile = array("name" => $filename, "path" => $dest_file);
    return $tmpfile;
}
|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

bbs/write_update.php 에서 

// 중복된 메일 주소는 제거 <==이런 주석을 찾아서 바로 윗줄에 메일주소를 추가하세요

$array_email[] = 'asdfg @ aaa.com';

우선은 서버내에서 메일 지원하는지부터 확인해보시고 안되면 smtp를 활용해야되구요 

여기 참고해보세요 https://sir.kr/g5_tip/23598?sfl=wr_subject&stx=%EB%A9%94%EC%9D%BC

답변에 대한 댓글 2개

네 메일은 잘 전송됩니다.
관리자 메일 외, 다른 메일 여러군데에 동시에 발송하고 싶어 그런겁니다.
메일 발송량이 많으면 외부 플랫폼 쓰셔야되요~ smtp만으로는 제한이 있어서요

답변을 작성하려면 로그인이 필요합니다.