안녕하세요 개발자 커뮤니티! ?
저는 디지털 마케팅에 열성적인 팬이자 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!