구현에 사용된 코드는 stickcode에서 확인하실수있습니다.
stickode.com/detail.html?no=2041
우선 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을 쳐서 다음화면이 나오면 설치된것입니다.
그리고 해당 웹 프로젝트 폴더로 이동합니다 (ex : /var/www/html)
composer init 을 입력하여 composer을 초기화합니다.
그리고 다음을 입력해서 phpmailer을 설치합니다.
composer require phpmailer/phpmailer
composer update
이제 phpmailer 설치가 끝났습니다.
메일발송을 위해 구글 smtp 를 이용할건데요
myaccount.google.com/lesssecureapps
해당 링크에서 보안수준이 낮은앱 엑세스를 허용하셔야 합니다.
구글 계정이 여러개 가지고 계신분들은 해당하는 계정의 세팅인지 확인해주세요
이제 php 코드를 통해 지메일 계정을 이용해서 메일을 발송해보겠습니다.
index.php
<?php
//phpinfo();
// Include router class
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require 'Router.php';
require 'vendor/autoload.php';
//echo "hi";
// Add base route (startpage)
// 일반적인 홈경로
Router::add('get','/',function(){
echo '라우터 홈입니다.dd';
});
// static html file 테스트
Router::add('get','/phpmailer',function(){
$mail = new PHPMailer();
$mail->CharSet = 'UTF-8';
//Tell PHPMailer to use SMTP
$mail->isSMTP();
$mail->SMTPDebug = SMTP::DEBUG_SERVER; // 디버그 모드, DEBUG_OFF 시 출력 없음
$mail->Host = 'smtp.gmail.com';
//Gmail 이용
$mail->Port = 587;
//SMTP 고정 포트
//encrypte 메커니즘 세팅
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
//SMTP AUTH 사용
$mail->SMTPAuth = true;
// gmail 계정주소명
$mail->Username = 'ㅁㅁㅁㅁㅁㅁ@gmail.com';
// gmail 패스워드
$mail->Password = '패스워드값';
// 보내는 사람 주소, 이름 세팅 - 보내는사람 주소은 추가 세팅을 해주지않으면 Username의 계정
$mail->setFrom('ㅁㅁㅁㅁㅁㅁ@gmail.com', 'ㅁㅁㅁㅁ');
$email = 'mulbang0@naver.com';
// 내가 보낼 주소, 이름(선택)
$mail->addAddress($email, null);
// $mail->addCustomHeader('Content-Type', 'text/plain;charset=utf-8');
// 메일 제목, 내용 세팅
$mail->Subject = '메일 제목';
$mail->Body = "
<b>메일 내용</b>
<br/>
<br/>
<a target='_self' href='' >링크</a>
";
$mail->isHTML(true);
if (!$mail->send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message sent';
}
});
?>
저는 이전 포스팅에서 이용한 Router 클래스를 이용했습니다.
stickode.tistory.com/32?category=921753
하나의 php파일을 실행시켜서 메일만 보내고싶은분은
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php';
을 추가후에
phpmailer 경로의 function 값을 복사해서 사용하시면 됩니다.
지금까지 스틱코드를 통해 php mail 발송하기였습니다.
'PHP' 카테고리의 다른 글
[PHP] PDO DB 커넥션 빠르게 구현하기 (0) | 2021.05.04 |
---|---|
[PHP] 네이버 단축 url 빠르게 만들기 (0) | 2021.04.23 |
[PHP] 네이버 검색 API 빠르게 구현하기 (0) | 2021.04.11 |
[PHP] 쿠키를 사용하여 팝업창 만들기 (0) | 2021.04.07 |
[PHP] curl을 이용한 HTTP 통신 (0) | 2021.04.03 |