저는 PHP의 초보자입니다. 그래서 실제로 포럼에 있습니다. 다음은 파일 내 php.ini 파일에서 만든 설정입니다PHP 메일 함수는 모든 설정에도 불구하고 false를 반환합니다.
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = [email protected]
sendmail_path = "\"C:\xamppnew\sendmail\sendmail.exe\" -t"
;sendmail_path = "C:\xamppnew\mailtodisk\mailtodisk.exe"
이 sendmail.ini 파일 여기
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=************
[email protected]
과에서 변경 한 내가 메일을 보내는 데 사용하고있는 코드가되어 있습니다
$to = "[email protected]";
$myemail = "[email protected]";
$email_subject = "Contact form submission: $name";
$email_body = "my message";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
header('Location: ../index-alt2.html?t="done successfully"');
귀하의 헤더 리디렉션이 페이지에 표시 될 것 같은 소리는 't'변수를 데리고 나타납니다 ... 예입니다. 크로스 사이트 스크립팅 공격을 허용하므로이 방법을 피하십시오. 링크가 공유되면 다른 사람이 HTML이나 스크립트를 페이지에 삽입 할 수 있습니다. 다음 페이지에서 성공한 경우 전달 된 입력을 표시하지 않고 대신 매개 변수 서버 측을 해석하고 메시지를 별도로 표시해야한다고 말해야합니다. – jedifans
이것은 내 검색어가 아닙니다. 왜 메일 기능이 작동하지 않는지 알고 싶습니다. 적어도 오류를 어떻게 알 수 있습니까? try catch catch 예외 메서드를 사용하여 오류가 표시되지 않습니다. 게다가 누군가가 내 t 변수로 나쁜 일을 시도하면 스크립트를 처리하는 방법을 알고있다. –
그래서 나는 대답 섹션에 내 코멘트를 넣지 않았다. 그것은 쪽지입니다. t 변수를 다루는 가장 안전한 방법은 사용자 입력이 처음부터 들어갈 수 없도록하는 것입니다. 어쨌든 PHP 오류 로그와 실제로 디버그 로그는 메일 문제에 대한 자세한 정보를 보여 주어야합니다. mail()은 성공했는지 여부를 반환하므로이를 확인할 수 있습니다. – jedifans