0
PHP 양식 mail()
을 사용하여 HTML 양식의 데이터를 전자 메일 주소로 보내려는 '연락하기'양식을 작성하려고합니다.메일을 통해 수신 된 이메일을 수신하지 못합니다.
xampp을 사용하고 localhost에서 내 코드를 테스트하고 있습니다. 나는 테스트 메일 서버 도구를 설치하고 그것의 php.ini 파일
[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
; SMTP = smtp.secureserver.net
; smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]
HTML 코드
<form action="upload.php" method="post" style="height:100%">
<input name="articleTitle" value="Title" maxlength="50"
id="articleTitle">
<textarea name="article-body">
Compose your article...
</textarea>
<script>
CKEDITOR.inline('article-body');
</script>
<input name="senderName" type="text" value="Name" maxlength="50"
id="name" class="textBox">
<input name="senderEmail" value="Email address" maxlength="50"
id="email" class="textBox">
<input name="abtyou" value="About Yourself" maxlength="150"
id="abtyou" class="textBox">
<input type="submit" name="submit" class="button">
</form>
PHP 코드
을의 25구성 포트에서 실행
<?php $thankYou=""; if(isset($_POST["submit"])) { $recipient="[email protected]"; $subject="New Guest Post"; $sender=$_POST["senderName"]; $senderEmail=$_POST["senderEmail"]; $senderAbout=$_POST["abtyou"]; $message=$_POST["article-body"]; $title=$_POST["articleTitle"]; $mailBody="Name: $sender\nEmail: $senderEmail\nAbout Sender: $senderAbout\nTitle: $title\n\n$message"; mail($recipient, $subject, $mailBody, "From: $sender <$senderEmail>"); $thankYou="Thank you! Your post has been submitted."; } ?>
오류는보고되지 않았지만 언급 된 전자 메일 주소의받은 편지함에있는 전자 메일을 볼 수 없습니다. 오류를 발견 할 수 있습니까? 처음으로 메일 서버를 사용하고 구성에서 오류가 발생했을 수 있으므로 구성 문제라고 생각합니다. 감사합니다.
세미콜론은 주석 문자입니다. 필요한 설정 앞에 세미콜론을 제거하십시오. –
또한 메일 서버 테스트 도구를 설치 한 경우 (a) SMTP 서버가 localhost이고 (b) 메일이 실제로 전송되지 않을 것으로 기대됩니다. 그것이 * Test * 메일 서버 도구 인 이유입니다. –
@MattGibson 고맙습니다. 서버를 localhost로 변경하고 서버와 포트에서 세미콜론을 제거했습니다. 로컬 서버에 메일을 보내려면 $ recipient에 어떤 이메일 주소를 사용해야합니까? – zaain