채택완료

상담폼 이용중 메일 설정방법 도와주세요 ㅜㅜ

2023-10-10 (화) 18:12:49 2,283

https://sir.kr/g5_skin/45879 요 링크에서 받을 수 있는 폼메일게시판 이용중입니다.

세팅은 완료했는데 메일 연결을 어떻게 해야하는지 모르겠습니다

게시판 메일 발송 체크했고 관리자 메일 테스트도 했는데 메일 잘 들어오고 관리자 메일도 올바르게 변경해두었습니다만 테스트 문의를 남겼을때 메일이 들어오지 않습니다..

Copy
// 보내는사람 정보확인

    list($sender, $sender_name) = explode('|', $cfg['보내는사람']);

    if(!$sender || !$sender_name) throw new \Exception("관리자 설정에서 보내는사람 정보를 확인해 주세요.");

 

    // 인증정보 정보확인

    list($username, $password) = explode('|', $cfg['인증정보']);

    if(!$username || !$password) throw new \Exception("관리자 설정에서 인증정보를 확인해 주세요.");

 

    // PHPMailer 선언

    $mail = new PHPMailer(true);

    // 디버그 모드(production 환경에서는 주석 처리한다.)

    // $mail->SMTPDebug = SMTP::DEBUG_SERVER;

 

    // SMTP 서버 세팅

    $mail->isSMTP();

    $mail->SMTPAuth = true;

    $mail->Port = 465;

    $mail->SMTPSecure = "ssl";

    $mail->CharSet = 'utf-8';

    $mail->Encoding = "base64";

    $mail->Host = $smtp_servers[$cfg['발송메일']];

 

    //if($cfg['발송메일']=='네이버')

    //else if($cfg['발송메일']=='구글') $mail->Host = "smtp.gmail.com";

 

    // 제목

    $mail->Subject = "{$_POST['wr_name']}님으로부터 문의메일이 도착했습니다.";

    // 본문 (HTML 전용)

    $mail->Body = $content_sender;

 

    // 로고 이미지 추가

    $mail->addEmbeddedImage($board_skin_path.'/img/logo-formmail.png', 'logo');

    // 본문 (non-HTML 전용)

    $mail->AltBody = strip_tags($content_sender);

 

    // 본문 html 타입 설정

    $mail->isHTML(true);

 

    // 첨부파일

    $file = get_file($bo_table, $wr_id);

    if($file['count']>0) {

        for ($i=0; $i<$file['count']; $i++) {

            $path = G5_DATA_PATH."/file/{$bo_table}/".$file[$i]['file'];

            if(!$mail->AddAttachment($path, $file[$i]['source'])) throw new Exception("파일 첨부에 실패 하였습니다.");

        }

    }

 

    $mail->Username = $username;

    $mail->Password = $password;

    $mail->setFrom($sender, $sender_name);

    foreach($receivers as $receiver) {

        $mail->AddAddress($receiver['email'], $receiver['name']);

    }

    $mail->Send();

 

    // 문의내용 접수 확인 발송

    if($_POST['wr_email'] && $_POST['wr_name']) {

        $mail->Body = $content_requester;

        $mail->Subject = "[{$sender_name}] {$_POST['wr_name']}님 문의내용이 접수 되었습니다.";

        $mail->clearAddresses();

        $mail->AddAddress($_POST['wr_email'], $_POST['wr_name']);

        $mail->Send();

    }

 

} catch (\Exception $e) {

    $msg = $e->getMessage();

}

 

alert($msg,$url);

exit;

여기 코드 어디에 메일을 추가해주어야 하나요?

답변 1개

채택된 답변
+20 포인트
2023-10-10 (화) 22:06:16

다음과 같은 방법으로 해결 할 수 있지 않을까 생각합니다.

Copy
$new_receiver_email = 'new_receiver @ example.com';
$new_receiver_name = 'New Receiver';
$receivers[] = ['email' => $new_receiver_email, 'name' => $new_receiver_name];

이렇게 하면 $receivers 배열에 새로운 수신자가 추가되고, 이 수신자에게도 이메일이 전송될 것이며, 코드에서 이미 $receivers 배열이 순회되므로, 이 추가된 수신자에게도 이메일이 보내질 것으로 생각합니다.

new_receiver @ example.com -> 이부분은 공백이 없어야 합니다.

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