2012-05-16 3 views
0

제공된 입력에 전자 메일을 삽입하면 활성화 링크가 전자 메일로 전송됩니다.링크가 포함되어있을 때 codeigniter가 포함 된 전자 메일을 보내지 않습니다.

CodeIgniter의 전자 메일 클래스를 사용하여 멀티 파트 전자 메일을 보내고 있는데 문제는 전자 메일을 보낼 때 디버거에서 전자 메일이 성공적으로 전송되었지만 메시지가 수신되지 않는다고 말합니다.

전자 메일을 내부 업무 전자 메일로 보내면 잘 보냅니다. 하지만 Gmail 계정으로 보내면 절대로 안됩니다.

이메일에 링크를 삽입 할 때 문제가되는 것으로 추적했습니다. 링크를 제거하면 이메일이 정상적으로 전송됩니다. 링크를 다시 넣으면 내 Gmail 계정으로 이메일을받지 못합니다.

누군가가이 문제를 극복 한 적이 있습니까? 아니면이 문제를 해결할 수있는 방법에 대한 통찰력이 있습니까?

답변

0
이메일이 거부되고

..이 더 CI 문제 ..

+0

그래, 네 말이 맞아. URL을 수정 한 후에는 이메일에 특정 도메인 이름이 포함되어있을 때만 이메일을 차단하는 것으로 보입니다. 도메인 이름을 다른 서버로 변경하면 정상적으로 작동합니다. 이메일을 보내는 도메인을 차단하는 이유는 무엇입니까? – DeanH

+0

아마 스팸/차단 목록에 있습니다. – Laurence

+0

예. Gmail에서 SPF 레코드 및 헤더를 확인하고 올바르지 않은 것이 있으면 스팸으로 전달하거나 거부합니다. – Broncha

0

좋아없는, 그래서 문제가 CodeIgniter의 또는 코드하지처럼 들리 겠지만 서버의 메일 전송 에이전트로에 전송 Gmail 서버

CodeIgniter는 전자 메일을 모아서 PHP 엔진에 전달하여 PHP 엔진에서 전송하여 서버의 메일 전송 에이전트로 전송합니다. MTA는 PHP, 즉 CodeIgniter에 전자 메일을 올바르게 수신했음을보고합니다. PHP & CodeIgniter의 작업이이 시점에서 끝났기 때문에 성공적으로 보내 졌음을보고합니다.

Gmail에 스팸 폴더가 있는지 확인하여 메일이 들어 왔는지 확인하십시오. 나는 CI를 잠시 사용하지 않았기 때문에 정확히 기억할 수는 없지만 보내기 전에 설정해야 할 HTML 이메일 매개 변수가 있다고 생각합니다. 그렇다면 Gmail에서이 기능이 설정되기를 기대할 수 있습니다.

여기에서 '이메일 환경 설정'아래로 스크롤하여 http://codeigniter.com/user_guide/libraries/email.html으로 스크롤하고 메일 유형을 HTML로 설정하십시오.

그래도 작동하지 않으면 완전히 디버깅해야합니다.

문제를 제대로 디버그하려면 MTA 로그에 액세스 할 수 있어야합니다. 로컬 개발 서버입니까 아니면 실제 프로덕션 시스템입니까? Linux 또는 Windows입니까? 리눅스라면 배포할까요? 어떤 MTA를 사용하고 있는지 알고 계십니까? 서버에 대한 SSH 액세스 권한이 있습니까?

SSH 액세스 권한을 얻고 어떤 MTA를 사용하는지 알아 내면 훨씬 쉽게 찾을 수 있으며 보내는 메시지와 대상 서버의 응답을 모니터 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 이것은 CentOS에서 실행되는 원격 개발 서버에 있습니다. 나는이 서버가 엄격하게 테스트 용이므로 이걸 너무 깊게 파고 들지 않을 것이라고 생각하지 않습니다. 일단 라이브가되면이 시스템은 다른 도메인 이름을 가진 다른 서버에있게됩니다. 당신의 도움을 주셔서 감사합니다. – DeanH

관련 문제