검색결과 리스트
-- PHP에 해당되는 글 23건
- 2021.03.27 gsmtp를 이용해 sendmail 보낼 때 BadCredentials 해결
글
Codeigniter의 email 라이브러리를 이용하여 아래의 설정으로 gmail smtp를 이용하고 있었다.
$config ['mailtype'] = 'html';
$config ['charset'] = 'utf-8';
$config ['crlf'] = "\r\n";
$config ['newline'] = "\r\n";
$config ['validate'] = FALSE;
$config ['priority'] = 3;
$config ['wordwrap'] = TRUE;
$config ['wrapchars'] = 76;
$config ['bcc_batch_mode'] = FALSE;
$config ['bcc_batch_size'] = 200;
$config ['protocol'] = 'smtp';
$config ['smtp_host'] = 'ssl://smtp.gmail.com';
$config ['smtp_user'] = 'your@gmail.com';
$config ['smtp_pass'] = 'your password';
$config ['smtp_port'] = 465;
$config ['smtp_timeout'] = 5;
어느 순간 메일이 보내지지 않아서 로그를 보니 아래와 같은 에러가 있었다.
Failed to authenticate password. Error: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials g3sm5647619pfk.186 - gsmtp
인터넷에서 찾아보니
"보안 수준이 낮은 앱 허용: 허용함"으로 하면 된다기에 했는데,
될 때가 있고 안될 때가 있는 듯 하고 또한, 보안에 취약할 것 같아 아래와 같이 처리하기로 하였다.
1) gmail 2단계 인증 사용
2) 앱 비밀번호 생성
3) 앱 비밀번호 생성 시 16자리 비밀번호를 위의 설정에 비밀번호로 이용
$config ['smtp_pass'] = '16자리 앱 비밀번호';
4) 서버 이용 시 465포트가 막혀 있다면 iptables에 추가
shell>iptables -I OUTPUT -p tcp --dport 465 -j ACCEPT
shell>iptables-save
설정 후 정상적으로 메일이 발송됨을 확인하였다.
'-- PHP' 카테고리의 다른 글
로그인 시 비밀번호 javascript 암호화 -> php 복호화 (0) | 2020.04.08 |
---|---|
PHP startsWith, endsWith (0) | 2018.04.16 |
PHP Magic Method (특수메소드) (0) | 2017.05.10 |
PHP 결과에 생기는  값 제거 (0) | 2016.05.23 |
PHP5.3에서 json_encode 후 한글 깨짐 (0) | 2016.04.21 |
RECENT COMMENT