본문 바로가기

PHP

[PHP] phpmailer을 이용한 이메일 전송

우선 phpamiler을 이용하기 위해 php 패키지 도구인 composer 을 설치

 

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/

혹은 

php -r "readfile('https://getcomposer.org/installer');" | php -- --install-dir=/usr/local/bin/

로 설치후

sudo ln -s /usr/local/bin/composer.phar /usr/local/bin/composer

 

그런 다음 

 

composer을 쳐서 다음화면이 나오면 설치된 거임 

composer을 쳐서 다음화면이   나오면 설치된 거임

 

 

그리고 해당 웹 프로젝트 폴더로 이동 (ex : /home/project)

 

composer init 을 입력하여 composer을 초기화

composer init 을 입력하여 composer을 초기화

그냥 엔터 치면서 넘어가고 중간에 n 누르고 또 엔터치면서 넘어가면 댐

 

그리고 다음을 입력해서 phpmailer을 설치

composer require phpmailer/phpmailer

composer update

 

이제 phpmailer 설치가 끝났다 

 

메일발송을 위해 구글 smtp 를 이용할건데

해당 링크에서 보안수준이 낮은앱 엑세스를 허용해야 한다 

 

 

myaccount.google.com/lesssecureapps

 

로그인 - Google 계정

이메일 또는 휴대전화

accounts.google.com

 

 

 

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php'; // Composer의 autoload 파일을 불러옵니다.

$mail = new PHPMailer(true);
$mail->CharSet = 'UTF-8'; // 문자 인코딩을 UTF-8로 설정

try {
    // 서버 설정
    $mail->SMTPDebug = SMTP::DEBUG_OFF; // 디버그 모드 비활성화 (개발 시에는 SMTP::DEBUG_SERVER를 사용)
    $mail->isSMTP(); // SMTP 사용 설정
    $mail->Host = 'smtp.gmail.com'; // Gmail SMTP 서버 주소
    $mail->SMTPAuth = true; // SMTP 인증 사용 설정
    $mail->Username = 'fou1042@gmail.com'; // Gmail 계정
    $mail->Password = 'sjgm ewew ewew pagh'; // Gmail 비밀번호
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // TLS 암호화 사용
    $mail->Port = 587; // 연결할 포트 번호

    // 수신자 설정
    $mail->setFrom('fou1042@gmail.com', '보내는 사람 이름'); // 발신자 정보
    $mail->addAddress('gpgp428@gmail.com', '받는 사람 이름'); // 수신자 정보

    // 메일 내용 설정
    $mail->isHTML(true); // HTML 메일로 설정
    $mail->Subject = '임시 비밀번호입니다 '; // 메일 제목
    $mail->Body = '메일 내용 <b>HTML 형식이 지원됩니다!</b>'; // 메일 본문

    $mail->send(); // 메일 보내기
    echo '메시지가 성공적으로 전송되었습니다.';
} catch (Exception $e) {
    echo "메시지를 보내지 못했습니다. Mailer Error: {$mail->ErrorInfo}";
}

 

'PHP' 카테고리의 다른 글

임시 비밀번호 임의의 문자열 생성 (임시 비밀번호 발급)  (1) 2024.02.02
서비스 약관  (0) 2024.01.24