개발 꿀팁/PHP

PHP Mailer를 통해 메일 보내기

Jammie 2022. 6. 25. 15:00
반응형

전자 우편을 보내려면 확장 라이브러리를 사용해야 합니다. composer 가져오기 주소
composer require phpmailer/phpmailer
메일 코드 보내기

function sendMail($to, $content,$host,$from_name,$title)
    {
        //PHPMailer 코어 클래스 인스턴스화
        $mail = new \PHPMailer\PHPMailer\PHPMailer();

        //smtp의 debug를 디버깅에 사용할 지 여부 개발 환경 제안 열기 생산 환경에 주석을 달면 된다 디버그 디버깅 모드 기본 끄기
        $mail->SMTPDebug = 0;

        //smtp 인증으로 메일 보내기
        $mail->isSMTP();

        //smtp 인증이 필요합니다. 이것은 true여야 합니다
        $mail->SMTPAuth = true;

        //qq 도메인 이메일 주소 링크
        $mail->Host = 'smtp.qq.com';

        //ssl 암호화를 사용하여 로그인 인증 설정
        $mail->SMTPSecure = 'ssl';

        //ssl이 smtp 서버에 연결하는 원격 서버 포트 번호 설정,이전 기본값은 25였습니다.,근데 이제 465나 587은 이제 안 되는 것 같아요
        $mail->Port = 465;
        //보낸 사람의 호스트 도메인 설정 있어도 되고 없어도 된다 기본적으로 localhost 내용이 임의이므로 도메인 이름을 사용하십시오
        $mail->Hostname = $host;

        //보낸 메일의 인코딩 설정 옵션 GB2312저는 utf-8 좋아해요 듣자 하니 utf8은 어떤 클라이언트에서 수신하면 번호가 흐트러질 수 있다고 한다
        $mail->CharSet = 'UTF-8';

        //보낸 사람 이름 설정(닉네임) 임의 내용,받는 사람 메일 주소 앞에 나타나는 보낸 사람 이름
        $mail->FromName = $from_name;

        //smtp로그인한 계정 여기에 문자열 형식의 qq 번호를 기입하면 된다
        $mail->Username = '메일을 보낼 편지함';

        //smtp로그인 비밀번호 생성된 인증 코드 사용(방금 저장한 최신 인증번호만)
        $mail->Password = '당신의 이메일 인증 코드';

        //보낸 사람 이메일 주소 설정 여기에 상술한 바와 같이 언급한 것을 기입한다.“발신인 우편함”
        $mail->From = '메일을 보낼 편지함';

        //메시지 본문이 HTML 인코딩인지 여부 여기에 주목하는 것은 하나의 방법이다 더 이상 속성 true나 false가 아닙니다
        $mail->isHTML(true);

        //받는 사람 메일 주소 설정 이 방법에는 두 개의 인수가 있다 첫 번째 인자는 받는 사람 전자 우편 주소입니다 두 번째 인자는 주소의 닉네임입니다 서로 다른 메일 시스템은 자동으로 처리 변경을 가합니다 여기서 두 번째 파라미터의 의미는 크지 않다.
        $mail->addAddress($to, '');

        //여러 수신인 추가 방법은 여러 번 불러오면 됩니다
         //$mail->addAddress('xxx@163.com','소람');
		// $mail->addAddress('xxx@qq.com','소홍');
        //이 메일의 제목 추가
        $mail->Subject = $title;

        //메일 본문 추가 上ISHTML을 true로 설정했습니다,전체 HTML 문자열이 될 수 있습니다 예:file_get_contents 함수를 사용하여 로컬 HTML 파일 읽기
        $mail->Body = $content;

        //이 메일의 첨부 파일 추가 이 방법에도 두 개의 파라미터가 있다. 첫 번째 인자는 첨부 파일 디렉터리입니다.(상대 디렉토리 또는 절대 디렉토리 모두 가능) 두 번째 인자는 메일 첨부 파일의 이름입니다.
        // $mail->addAttachment('./1.png,'그림');
        //이 방법은 여러 개의 첨부 파일을 불러올 수 있습니다
        // $mail->addAttachment('./test.php','php파일');

        $status = $mail->send();

        //간단한 판단과 제시 정보
        if ($status) {
            return true;
        } else {
            return false;
        }
    }

 

반응형

'개발 꿀팁 > PHP' 카테고리의 다른 글

PHP5.6과 PHP7의 차이  (0) 2022.06.25
ImageMagick php 확장 윈도 설치  (0) 2022.06.25
PHP 간편 등록 로그인 상세 전체 코드  (0) 2022.06.25
php 학생정보관리시스템(소스)  (0) 2022.06.25
PHP제어반전(IOC)  (0) 2022.06.25