문제

PHP 경고와 함께 메일을 보내는이 경고를받습니다 : Mail (1) [function.mail] : 열기 실패 : 허가 거부 /home /...

  • SSMTP 및 Gmail 사용 SMTP로 사용합니다
  • PHP 5.3.1
  • 로그에 아무것도 없음 (오류 없음)
  • 메일이 목적지에 도달합니다
  • 파일의 권한은 rwxrxrx입니다

허가가 무엇에 대한 허가를 거부 했습니까?

심지어 간단한 것을 부르는 것조차도

mail ( "mail@domain.com", "subject", "body");

나는 여전히이 경고를 받고있다

도움이 되었습니까?

해결책 3

결국 파일 권한 문제로 판명되었습니다. 그러나 스크립트가 아니라 디렉토리에 있습니다. 나는 달렸다 chmod -R 777 * 그리고 경고가 갔다. 추가 검사 결과 나는라는 파일을 발견했습니다 1, 그리고이 파일에는 보낸 메일의 로그가 포함되어 있습니다. 경고는 PHP 가이 파일을 열 수 없다고 말한 것입니다.

해결책:

 sudo chmod -R 755 *
 sudo chmod  777 1

F#$%^% 암호화 PHP 오류 메시지

다른 팁

문제는 웹 서버 사용자가 메일 로그 파일을 작성 및/또는 읽을 수 없다는 것입니다. Propper 구성의 경우 :

1) 이메일 로깅의 폴더와 파일을 만듭니다. 예를 들어:

touch /var/log/php5/mail.log

2) php.ini에서 로깅 파일을 설정하십시오.

mail.log = /var/log/php5/mail.log

3) 필요한 경우 해당 폴더/파일의 소유자와 그룹을 설정하십시오.

소유자와 그룹을 확인하십시오

ls -la /var/log/php5

필요한 경우 그룹을 변경하십시오 (웹 서버 그룹이 무엇이든 www-data 변경)

sudo chgrp -R www-data /var/log/php5

필요한 경우 소유자를 변경하십시오 (웹 서버 사용자가 무엇이든 www-data 변경)

sudo chown -R www-data /var/log/php5

단순화하면 작동합니까?

 $mail_sent = mail('address@domain.com', 'subject', 'message');

그렇다면 메일이 작동한다는 것을 알고 있습니다.

그 후, 나는 $ eol 물건을 제거하고 그것이 수정되는지 확인합니다. 그렇지 않은 경우 헤더 블록을 제거하고 작동이 시작될 때까지 계속 제거합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top