CI 묻고 답하기

제목 PHPMailer 타 서버를 통해 메일 보내는법이 궁금합니다.
카테고리 CI 4 관련
글쓴이 브링잇온0652 작성시각 2021/01/13 16:50:32
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 13224   RSS

안녕하세요.

최근 타사 의뢰를 받아 앱 개발을 진행 중인데요.

 

AWS EC2 - 우분투 사용 중입니다.

이메일 인증 서비스를 구현 중인데

구글, 네이버 SMTP 사용하는 것이 아닌 회사 계정으로 해달라고 하셔서

타사로부터 보내고 받는 메일 서버, 계정 아이디와 비밀번호 3가지를 받았습니다.

 

PHPMailer에 구글 SMTP 사용할 때 아래와 같이 메일을 전송했는데요. (작동 문제 없습니다)

//# 메일 라이브러리

$mail = $this->phpmailer_library->load();

//# 호스트 및 계정

$mail->Host = 'smtp.gmail.com';

$mail->Username = 'xxxxxx@gmail.com'; //# ID

$mail->Password = 'xxxxxxxxxxx'; //# 비밀번호

$mail->Port = 587;

( 발신, 수신, 제목, 내용 등은 제외했습니다 )

 

아래처럼 전달받은 호스트와 계정으로 변경한 상태입니다.

$mail->Host = 'mail.회사.com'; //'smtp.gmail.com';

$mail->Username = 'xxxxxx123'; //# ID

$mail->Password = 'xxxxxxxxxxx'; //# 비밀번호

$mail->Port = 587;

 

변경 후 메일 전송이 안되는데

포트 번호를 안받아서 그런건지

이외 별도의 문제가 있는건지 궁금합니다.

 

타사에서는 메일 서버를 구축해놓은 상태고

메일서버(mail.xxxxx.com), 계정(ID, 비밀번호)를 전달해주셨는데 

사용하도록 해놓은 포트번호도 전달받아야 메일이 전송되는거 아닌가요?

아니면 전송 자체가 불가능한 상태인건가요?

 다음글 ci 3 에서 mssql 트랜잭션 사용관련 문의 (1)
 이전글 do_upload 멀티업로드 업로드 권한문제 (2)

댓글

변종원(웅파) / 2021/01/14 09:09:47 / 추천 0
메일 발송후 에러메세지 확인해보세요.
브링잇온0652 / 2021/01/14 11:12:28 / 추천 0

답변 감사합니다.

포트를 25번으로 설정해달라고 해서 변경하고 보내니 이렇게 나옵니다.

SMTPAuth, SMTPSecure, isSMTP() 주석처리 후, 메일 전송하고 나니 success 라곤 뜨는데

메일을 전혀 못받고 있구요..

AWS EC2 25번 포트를 막아놓는다 얘기를 듣긴 했지만

타 호스트 사용하는 경우인데 제 서버 포트랑 관련이 없지 않나요?

 

Connection failed. Error #2: stream_socket_client(): unable to connect to ssl://mail.xxxxxx.com:25

SMTP ERROR: Failed to connect to server: Connection timed out (110)

SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

테러보이 / 2021/01/14 11:33:40 / 추천 0

메일 서버에서 smtp가 사용 가능한 상태인지 먼저 체크해보세요

 

겸사 겸사

https://aws.amazon.com/ko/premiumsupport/knowledge-center/ses-set-up-connect-smtp/

https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-port-25-throttle/

도 체크 해주세요.

브링잇온0652 / 2021/01/14 11:49:34 / 추천 0

답변 감사합니다.

SMTP가 사용 가능한 상태인데 안되는 경우라면

EC2 포트 25번이 막혀있어서 생기는 문제일까요??

테러보이 / 2021/01/14 11:56:00 / 추천 0
기본적으로 신청 하지 않는 이상 aws에서 직접 메일을 발송 하지 못하는걸로 알고 있습니다.(라이트세일 포함)
브링잇온0652 / 2021/01/14 11:58:03 / 추천 0

그렇군요. 그럼 궁금한 점이 있는데요.

https://console.aws.amazon.com/support/contacts?#/rdns-limits

이메일 전송 제한 제거 요청시에

Elastic IP 주소는 EC2 고정IP를 적고, Reverse DNS 주소는 해당 타 회사 호스트 주소(mail.xxxxxx.com)를 넣어주면 되는건가요?

메일 구현이 첨이다보니 어렵네요..

 

테러보이 / 2021/01/14 12:45:32 / 추천 0
저도 포기해버려서 ㅋㅋㅋㅋ
귀찮...
브링잇온0652 / 2021/01/14 14:07:06 / 추천 0

아 ㅎㅎ 그렇군요.

답변 감사합니다!