>백엔드 개발 >PHP 튜토리얼 >도움 필요: 내 연락처 양식에 대한 PHP 메일러 설정에 어려움을 겪고 있음

도움 필요: 내 연락처 양식에 대한 PHP 메일러 설정에 어려움을 겪고 있음

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-07 11:31:13222검색

Help Needed: Struggling to Set Up PHP Mailer for My Contact Form

안녕하세요 개발자 커뮤니티! ?

저는 디지털 마케팅에 열성적인 팬이자 PHP 초보자입니다. 웹사이트 문제에 대한 도움이 필요합니다.

내 홈페이지
? 웹플루언스
구체적으로 문의 양식은 다음과 같습니다: 문의 양식

이슈
문의 양식은 include/sendmail.php에 사전 구축된 PHP 파일과 함께 제공됩니다. 불행하게도 스크립트는 오래된 mail() 함수를 사용하는데 Hostinger(나의 호스팅 공급자)는 이 함수가 안전하지 않으며 권장되지 않는다고 말했습니다. 그들은 비즈니스 호스팅 계획에 사전 설치되어 있는 PHPMailer를 사용하라고 조언했습니다.

PHPMailer 설정에 대한 기사를 읽었지만 솔직히 이전에 PHP를 사용해 본 적이 없기 때문에 이 모든 것이 약간 부담스럽습니다. 템플릿 작성자가 응답하지 않아 이 문제를 파악하는 데 어려움을 겪고 있습니다.

세부정보
도메인: GoDaddy에 등록됨
호스팅: Hostinger 사업계획
현재 메일 스크립트: 오래된 mail() 함수 스크립트는 여기에 있습니다:

<?php // 양식 값을 읽습니다.
$성공 = 거짓;
$successTxt = "";
$senderName = isset( $_POST['name'] ) ? preg_replace( "/[^.-' a-zA-Z0-9]/", "", $_POST['name'] ) : "";
$senderEmail = isset( $_POST['email'] ) ? preg_replace( "/[^.-_@a-zA-Z0-9]/", "", $_POST['email'] ) : "";
$subject = isset( $_POST['subject'] ) ? preg_replace( "/[^.-' a-zA-Z0-9]/", "", $_POST['subject'] ) : "";
$budget = isset( $_POST['예산'] ) ? preg_replace( "/^[A-Za-z0-9\-\.] $/", "", $_POST['budget'] ) : "";
$message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message'] ) : "";
$txt = "고객 예산: " . $예산 . "nn" . $메시지 . "nn" . "감사합니다,nn". $발신자이름 . " | " .$senderEmail;

// 모든 값이 존재하면 이메일을 보냅니다.
if ( $senderName && $senderEmail && $message ) {
  $mailTo = "dusan@webluence.digital"; // 호스트 메일로 변경합니다(예: contact@yourdomain.com).
  $headers = "보낸 사람: " . $sender이메일;
  $success = 메일( $mailTo, $subject, $txt, $headers );
  $successTxt = "<p>



<p>나에게 필요한 것<br>
이 스크립트를 보안 PHPMailer 기반 스크립트로 바꾸고 싶습니다. Hostinger에는 PHPMailer가 사전 설치되어 있으며 이것이 더 안정적이라고 들었습니다. 설정 관련 글을 찾았는데, PHP를 처음 접하는 저에게는 너무 헷갈립니다.</p>

<p>지금 제가 가지고 있는 것은 다음과 같습니다.<br>
</p><pre class="brush:php;toolbar:false"><?php
'vendor/autoload.php'가 필요합니다.

PHPMailerPHPMailerPHPMailer를 사용하세요.

$mail = 새로운 PHPMailer;

$mail->isSMTP();
$mail->SMTPDebug = 0;
$mail->Host = 'smtp.hostinger.com';
$mail->포트 = 587;
$mail->SMTPAuth = true;
$mail->사용자 이름 = 'sales@webfluence.digital';
$mail->비밀번호 = 'c;Ge?H9unUs#:T0J';
$mail->setFrom('sales@webfluence.digital', '두산 왈라');
$mail->addReplyTo('sales@webfluence.digital', '두산 왈라');

// 주입 공격을 방지하기 위해 양식 값을 읽고 삭제합니다.
$senderName = isset($_POST['name']) ? preg_replace("/[^.-' a-zA-Z0-9]/", "", $_POST['name']) : ""; // 문자, 숫자, 공백, 점, 하이픈, 아포스트로피가 아닌 모든 문자를 제거합니다.
$senderEmail = isset($_POST['email']) ? preg_replace("/[^.-_@a-zA-Z0-9]/", "", $_POST['email']) : ""; // 문자, 숫자, 점, 하이픈, 밑줄 또는 @가 아닌 문자를 모두 제거합니다.
$subject = isset($_POST['subject']) ? preg_replace("/[^.-' a-zA-Z0-9]/", "", $_POST['subject']) : ""; // 문자, 숫자, 공백, 점, 하이픈, 아포스트로피가 아닌 모든 문자를 제거합니다.
$budget = isset($_POST['예산']) ? preg_replace("/[^.-' a-zA-Z0-9]/", "", $_POST['budget']) : ""; // 문자, 숫자, 공백, 점, 하이픈, 아포스트로피가 아닌 모든 문자를 제거합니다.
$message = isset($_POST['message']) ? preg_replace("/(From:|To:|BCC:|CC:|Subject:|Content-Type:)/", "", $_POST['message']) : ""; // 헤더 삽입을 방지하기 위해 모든 이메일 헤더를 제거합니다.

$mail->addAddress('sales@webfluence.digital', '두산 왈라');
$mail->제목 = $subject;
$mail->Body = 



<p>질문<br>
가능한 가장 간단한 방법으로 이 스크립트를 PHPMailer로 바꾸려면 어떻게 해야 합니까?<br>
내가 해야 할 일을 세분화한 단계별 가이드가 있나요?<br>
스크립트에서 Hostinger의 SMTP 설정을 어떻게 구성하나요?<br>
어떤 도움이라도 진심으로 감사하겠습니다! ?</p>

<p>추가 자료<br>
제가 참조한 기사는 다음과 같습니다: 안전한 이메일 전송을 위해 PHPMailer를 사용하는 방법</p>

<p>안내해 주셔서 미리 감사드립니다! ?</p>


          

            
        

위 내용은 도움 필요: 내 연락처 양식에 대한 PHP 메일러 설정에 어려움을 겪고 있음의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.