PHP/CodeIgniter4

Codeigniter4 에서 네이버 서버를 사용한 이메일 보내기

6미리 2024. 5. 17. 11:52

https://gaebalgaebal.tistory.com/33

 

위 내용이 안되어서 네이버에서 비밀번호를 만들고 뭐하고 하여간 복잡하였습니다.

 

https://help.naver.com/service/5640/contents/8584?lang=ko

 

애플리케이션 비밀번호 사용 방법 (아웃룩 등 2단계 인증 미지원 환경에서 로그인) : 회원정보 고

아웃룩, 휴대전화 기본 메일앱, 캘린더앱 등 일부 애플리케이션은 2단계 인증을 지원하지 않습니다.​미지원 환경에서는 먼저 비밀번호를 생성한 후 애플리케이션 화면에서 생성된 비밀번호를

help.naver.com

일단 네이버에서 위에 처럼 애플리케이션 비밀번호를 만듭니다.

만들어야 아래와 같이 코드를 통해 메일을 보낼수 있습니다.

 

    public function send()
    {
        $email = \Config\Services::email(); // 이메일 서비스 로드

        $config["protocol"] = "smtp";
        $config["SMTPHost"] = "smtp.naver.com"; // 호스트
        $config["SMTPUser"] = "아이디@naver.com"; // 사용자 정보
        $config["SMTPPass"] = "생성한 앱 비밀번호"; // 암호
        $config["SMTPPort"] = "587"; // 포트(tls 작업)

        $email->initialize($config);

        $email->setFrom("보낼사람 주소-위 아이디와 비밀번호에 맞는 아이디", "이름은 아무거나");
        $email->setTo("받는사람주소");

        $email->setSubject("새로운 문의를 등록하였습니다.");
        $email->setMessage("문의를 등롭합니다.");
        $email->send();
    }

 

보낼사람 주소는 반드시 naver.com 까지 붙은 전체 아이디가 있습니다.

포트는 전 처음에 465로 해서 서비스 잘 썼는데, 이제는 587로 보내야 하더군요.

생성당시의 정보가 서로 다 다를테니 전송이 되는 포트를 쓰시면 될것 같아요.