그누보드 mailer lib경로로 우선 이동해야한다.
필자의 경로는 다음과같다.
개발하는 사람마다 경로가 다르니 어느정도 참고하세요.
/home/web/gnu/lib/mailer.lib.php
아마 보게되면 아래코드와 다른부분이있을것이다.
나는 mailer() 는 냅두고 .
새로 함수를 만들어 사용했다.
필요하시다면 함수명 제외하고 바디 부분만 복사하셔서
아이디, 패스워드만 추가하면 될거같다.
이게 네이버나 구글, 다음
HOST, port , user_name, pw 만 변경하여 동일하게 사용할수 있다.
후이즈메일 경우 정보가 매우 옛날것들이 많더라..
그래서 찾다 찾다 STMPSecure 부분이 ssl 이 아닌 tls 로 변경해야하는 점 때문에 고생했다.
SMTPDebug = 2 << 이게 있는데.
이건 테스트가 끝나면 주석처리 하도록. (말그대로 디버그 용임)
//
function send_mailer($fname, $fmail, $to, $subject, $content, $type=0, $file="", $cc="", $bcc="")
{
global $config;
global $g5;
if ($type != 1)
$content = nl2br($content);
$mail_send_result = false;
try {
$mail = new PHPMailer(); // defaults to using php "mail()"
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPDebug = 2;
$mail->SMTPSecure = "tls";
$mail->SMTPAuth = true;
$mail->Host = "smart.whoismail.net"; // HOST
$mail->Port = 587; // 포트
$mail->Username = "계정이곳에 주소까지 입력"; // 아이디
$mail->Password = "비밀번호 입력"; // 패스워드
$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);
// 파일을 하나만 업로드하기 위해 아래와같이 수정.
if ($file != "") {
// foreach ($file as $f) {
$mail->addAttachment($file['path'], $file['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;
}
그럼 어떻게 사용하는가?
<?php
require_once ('./_common.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
$name = $_POST['name'];
$email = $_POST['eamil'];
$call = $_POST['call'];
$ubject = $_POST['subject'];
$content = $_POST['content'];
$email_name = $config['cf_admin_email_name'];
// TODO : 수정하여 사용
$send_mail = "보내는 사람 이메일";
// TODO : 수정하여 사용
$subject = '[문의 메일] 홈페이지 ';
$con = '';
// TODO : 수정하여 사용
$con .= '<h2>제품 문의</h2>';
$con .= '<ul>';
$con .= '<li>문의자 : '. $name.'</li>';
$con .= '<li>이메일 : '.$email.'</li>';
$con .= '<li>전화번호 :'.$call.'</li>';
$con .= '<li>제목 :'.$post_subject.'</li>';
$con .= '<li>내용 : '.$content.'</li>';
$con.= '</ul>';
// TODO : 수정하여 사용
send_mailer($email_name,"보내고자하는 이메일", $send_mail, $subject, $con, 1);
alert("문의가 접수되었습니다.");
header("Location: ".G5_BBS_URL.'/content.php?co_id=product_qa');
?>
이렇게 사용하면 알럿 메시지도 뜨면서 원래 있던 페이지로 이동하게되며 폼메일 전송이 정상적으로 동작하게된다.
[해결] 그누보드 테스트 메일 발송 오류 해결 [메일이 발송안될때] (0) | 2023.11.23 |
---|---|
"data 폴더에 쓰기권한이 없거나 또는 웹하드 용량이 없는 경우 로그인을 못할수도 있으니, 용량체크 및 쓰기 권한을 확인해 주세요." (0) | 2023.11.23 |
그누보드 로그인 문제 (0) | 2022.09.28 |
[그누보드] daum 주소 Api / 주소검색 오류 (0) | 2022.06.15 |
그누보드5 페이징번호 추가하는법 (0) | 2022.05.25 |
php 그누보드 특정 글쓴이만 검색하고싶을때, 변수를 쿼리문에 추가하기 (0) | 2022.05.25 |