PHP에서 이메일을 보내는 방법은 무엇인가요? 이 기사에서는 PHPMailer+SMTP를 사용하여 이메일을 보내는 방법을 소개하여 PHPMailer를 구성하고 사용하는 방법을 이해할 수 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
PHPMailer는 인기 있는 PHP 이메일 전송 라이브러리입니다. mail() 기능이나 SMTP를 통한 메일 전송을 지원합니다. 즉, PHPMailer는 PHP 기반 환경에서 이메일을 보내는 효율적인 방법입니다.
살펴보겠습니다
1단계 – PHPMailer 세부 정보 수집
Hostinger SMTP와 함께 PHPMailer를 사용하려면 먼저 이메일 계정을 만들어야 합니다. 웹 호스트 패널의 이메일 계정 섹션에서 이 작업을 수행할 수 있습니다.
완료되면 동일한 섹션에 있는 SMTP 세부 정보를 가져옵니다.
이제 다음과 같은 4개의 섹션이 있습니다.
1. 이메일 계정 사용자 이름
2. . SMTP 호스트
4. SMTP 포트
2단계 - PHPMailer 설치필요한 세부 정보가 모두 있으므로 PHPMailer 설정을 시작할 수 있습니다. 쉬운 방법은 Composer를 사용하는 것입니다. 이는 공유 호스팅 계획에 사전 설치되어 있으므로 SSH를 통해 연결하고 다음 명령을 실행하기만 하면 됩니다:
cd public_html
그런 다음 다음을 실행합니다:
composer require phpmailer/phpmailer
설치가 완료될 때까지 잠시 기다리면 PHPMailer가 다음 명령에 나타납니다. 새로 생성된 디렉토리.
3단계 – PHPMailer 이해하기PHPMailer와 작동 방식을 이해하기 위해 SMTP를 사용한 전달의 예를 살펴보겠습니다.
<?php use PHPMailer\PHPMailer\PHPMailer; require '../vendor/autoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->SMTPDebug = 2; $mail->Host = 'mx1.hostinger.com'; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username = 'test@hostinger-tutorials.com'; $mail->Password = 'EMAIL_ACCOUNT_PASSWORD'; $mail->setFrom('test@hostinger-tutorials.com', 'Your Name'); $mail->addReplyTo('reply-box@hostinger-tutorials.com', 'Your Name'); $mail->addAddress('example@gmail.com', 'Receiver Name'); $mail->Subject = 'PHPMailer SMTP message'; $mail->msgHTML(file_get_contents('message.html'), __DIR__); $mail->AltBody = 'This is a plain text message body'; $mail->addAttachment('test.txt'); if (!$mail->send()) { echo 'Mailer 错误: ' . $mail->ErrorInfo; } else { echo '发送消息!'; } ?>
각 구성요소의 기능을 살펴보겠습니다.
프로 팁:SMTPDebug = 2는 스크립트를 테스트하고 작동 방식을 확인할 때 유용합니다.
최종 사용자에게 SMTP 배달 보고서가 표시되지 않도록 하려면 최종 빌드에서 이를 SMTPDebug = 0으로 설정하세요.
전체 코드를 살펴보면 우리가 수행하는 작업이 첫 번째 예와 약간 다르다는 것을 알 수 있습니다. HTML 메시지를 보내고 있습니다. 해당 내용은 동일한 디렉터리에 있는 message.html 파일에서 가져옵니다. 이를 통해 텍스트 서식을 지정할 수 있으며 일반 텍스트 메시지보다 더 많은 기능을 제공합니다.
4단계 – PHPMailer 스크립트 실행testphpmailer.php 파일을 만들고 이전에 검색한 SMTP 세부 정보로 모든 필드를 채워 보겠습니다. 브라우저에 YourDomain.com/testphpmailer.php를 입력하여 스크립트를 실행하면 다음과 유사한 메시지가 표시됩니다.
5단계 - PHPMailer 문의 양식 예그냥 보내는 대신 PHPMailer를 사용할 수 있습니다. 간단한 메시지. 이를 활용할 수 있는 한 가지 방법은 방문자나 사용자가 연락할 수 있는 문의 양식을 만드는 것입니다. 다음은 이러한 스크립트의 기본 예입니다.
<?php use PHPMailer\PHPMailer\PHPMailer; require '../vendor/autoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'mx1.hostinger.com'; $mail->Port = 587; $mail->SMTPAuth = true; $mail->Username = 'test@hostinger-tutorials.com'; $mail->Password = 'EMAIL_ACCOUNT_PASSWORD'; $mail->setFrom('test@hostinger-tutorials.com', 'Mr. Drago'); $mail->addAddress('example@gmail.com', 'Receiver Name'); if ($mail->addReplyTo($_POST['email'], $_POST['name'])) { $mail->Subject = 'PHPMailer contact form'; $mail->isHTML(false); $mail->Body = <<<EOT Email: {$_POST['email']} Name: {$_POST['name']} Message: {$_POST['message']} EOT; if (!$mail->send()) { $msg = '对不起,出了点问题。请稍后再试。'; } else { $msg = '发送消息成功!谢谢您联络我们。'; } } else { $msg = '电子邮件地址无效,邮件被忽略。'; } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>邮件表单</title> </head> <body> <h1>Let's get in touch!</h1> <?php if (!empty($msg)) { echo "<h2>$msg</h2>"; } ?> <form method="POST"> <label for="name">名称: <input type="text" name="name" id="name"></label><br><br> <label for="email">电子邮件: <input type="email" name="email" id="email"></label><br><br> <label for="message">消息:<textarea name="message" id="message" rows="8" cols="20"></textarea></label><br><br> <input type="submit" value="发送"> </form> </body> </html>
최종 결과는 다음과 같습니다.
사용자가 메시지를 제출하면 확인 메시지를 받게 되며 콘텐츠는 addAddress 필드에 입력한 이메일 주소에 도달하게 됩니다.
프로 팁: PHPMailer 문의 양식이 작동하지 않으면 다음 줄을 추가하여 문제의 원인을 확인하세요. $mail-> SMTPDebug = 2
완료되면 이를 제거하거나 설정하는 것을 잊지 마세요. 0으로!
위 내용은 PHP로 이메일을 보내는 방법은 무엇입니까? PHPMailer를 사용하여 구현됨의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!