PHP/CodeIgniter4

이메일 보내기

6미리 2022. 1. 30. 22:48

이메 이메일 보내기는 아래 링크를 통해서 작업하시기 바랍니다.

네이버 2차 인증을 걸고 앱 비밀번호를 생성해야합니다.

 

 

 

https://gaebalgaebal.tistory.com/55

 

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

https://gaebalgaebal.tistory.com/33 위 내용이 안되어서 네이버에서 비밀번호를 만들고 뭐하고 하여간 복잡하였습니다. https://help.naver.com/service/5640/contents/8584?lang=ko 애플리케이션 비밀번호 사용 방법 (

gaebalgaebal.tistory.com

 

 

 

 

 

 

이 기능은 더 이상 사용할수 없습니다. 아래 링크에서 2차 인증을 설정하시고 앱 비밀번호를 생성하세요.

https://chocohaim1121.tistory.com/95

 

[php] php의 mail() 함수로 구글 이메일 보내기 / XAMPP 서버 및 aws의 EC2 / php mail function to send Gmail at XAMP

파이어베이스를 이용하면 사용자들에게 안내 이메일을 쉽게 보낼 수 있지만, 파이어베이스를 사용하지 않는 경우, 다른 방법으로 이용자들에게 메일을 보내야한다. 이 글에서는 php의 mail 함수

chocohaim1121.tistory.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

구글로 메일을 보내실때는 보안수준을 변경하셔야 합니다.

구글 계정 설정( https://myaccount.google.com/security?gar=1 )으로 가셔서(메일의 설정이 아닙니다.)

위와 같이 보안 탭의 [ 보안 수준이 낮은 앱의 액세스 ] 를 설정하여야 합니다.

이걸 설정하기 위해서는 2차인증이 되지 않아야 하기 때문에 요즘처럼 2차 인증이 보편화된 경우 설정 자체가 불가능합니다. 따라서 메일 발송 시스템을 만들기 위해서는 특정한 메일 서비스를 사용하시거나, 하루에 몇통 보내지 않는다면 구글 계정을 새로 만들어서 작업하시길 권장합니다.

 

여튼 메일 관련한 내용 말고 본론으로 들어와서요

ci4로 오면서 메일 보내기가 그렇게 많이 변경된건 아니지만,

기존의 서비스는 파일에 아이디와 암호등등이 노출되어야 했다면 ci4에는 env파일로 다 처리가 가능하다는 장점이 있습니다.

 

.env 파일에 이렇게 메일 관련 설정을 해두고

 

    // 이메일 보내기
    public function sendEmail($from, $from_name, $to, $title, $contents)
    {
        $email = \Config\Services::email(); // 이메일 서비스 로드

        $config["protocol"] = "smtp"; // 전송방식
        $config["SMTPHost"] = env("email.smtp.host"); // 호스트
        $config["SMTPUser"] = env("email.smtp.user"); // 사용자 정보
        $config["SMTPPass"] = env("email.smtp.pass"); // 암호
        $config["SMTPPort"] = env("email.smtp.port"); // 포트

        $email->initialize($config); // config 에 따른 메일 서비스 초기화

        $email->setFrom($from, $from_name); // 보내는 사람 이름과 메일주소
        $email->setTo($to); // 받는 사람 메일 주소

        $email->setSubject($title); // 제목
        $email->setMessage($contents); // 내용

        $email->send(); // 발송
    }

이렇게 메일 발송과 관련한 부분을 지정해두면 되는거죠.

 

https://www.tutsmake.com/send-email-in-codeigniter-4-with-smtp/

메일 발송과 관련해서는 이 블로그가 꽤 도움이 되었습니다.

 

그외 html로 발송해야 한다거나, 설정을 바꾸어야 하는건 공식문서를 참고하시면 좋을것 같아요.

http://ci4doc.cikorea.net/libraries/email.html