문제

PHP와 MySQL을 사용하고 있습니다. 그리고 내 사이트는 플래시에 있습니다 (전체 플래시 사이트)

사용자가 가입 할 수있는 웹 사이트가 있습니다. "활성화 이메일"보내기를 포함한 가입 프로세스, 링크를 클릭하여 계정을 활성화하십시오.

처음 2 주는 괜찮 았습니다. 약 2000 명의 사용자 중 1800 명의 사용자가 활성화됩니다. 그 후 활성화 된 사용자는 약 30%로 급격히 떨어집니다. 예 : 1000 명의 사용자 가입, 300 명만 활성화되었습니다.

처음에는 문제가 이메일을 Ymail, MSN 및 Gmail 사용자에게 연락 할 수 없기 때문입니다. (대부분의 가입자는 Ymail (Yahoo), Hotmail/MSN (Live) 및 Gmail (Gmail))입니다. Ymail과 Hotmail을 사용하여 가입을 시도했지만 Activation 이메일을받지 못했습니다. 나는 Yahoo와 MSN에 연락했다. 결국 내 이메일은 지금 통과 할 수있다.

그러나 내 가입 통계는 여전히 표시되지만 활성화 된 사용자는 약 30%에 불과하며 저를 혼란스럽게합니다. 호스팅 회사에 연락하여 화이트리스트 내 IP에게 물어보십시오. 그리고 그들은 그것을했습니다.

다음 질문에 대한 조언/도움이 필요합니다.

  • 문제가 어디에 있는지 확인하는 방법은 무엇입니까? 이메일이 전달되지 않습니까? 사용자는 이메일을 받지만 활성화 링크를 클릭하지 않았습니까?

PHP 메일 재미를 사용하고 있습니다. 그리고 이것은 내 헤더입니다.

  $headers = 'MIME-Version: 1.0' . "\r\n";

  $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

  $headers .= 'From: Admin <\admin@domain.com>' . "\r\n";

  $headers .= 'Return-Receipt-To: Bounce <\bounce@domain.com>' . "\r\n";

  $headers .= 'Reply-To: Admin <\admin@domain.com>' . "\r\n";

  $return_path = "\bounce@domain.com\";

(도메인 이름을 숨기고 이메일 내에 백 슬래시를 추가합니다.

헤더에 문제가 있습니까?

  • 등록/가입 활성화 프로세스를 개선하기 위해 무엇을 할 수 있습니까?
도움이 되었습니까?

해결책

메일 () 함수의 "-f"매개 변수로 반환 경로를 전달해야합니다.

mail(
    $this->recipient,
    $subj,
    $this->body,
    $this->compose_headers(),
    '-f ' . Options::obj()->mail->return_path);

또한 최상의 결과를 얻으려면 전송 서버에 공개 도메인 이름 example.com이있는 경우 리턴 경로는 Something@example.com이어야합니다.

어쨌든, 당신은 확실히 로그 (/var/log/mail*)를 확인하여 무슨 일이 일어나고 있는지 정확히 알 수 있습니다.

다른 팁

SMTP 서버가 도메인의 SendMail과 같은 Mail Server의 Istead로 Gmail을 사용해보십시오. Gmail SMTP를 사용하면 메일이 최선의 노력으로 전송되도록합니다. 또한 이메일 ID가 스팸으로 표시되지 않는 한 Gmail은 스팸으로 취급되지 않습니다 (따라서 안전한 제품을 사용해보십시오). Singup-> 활성화를 개선하려면 최선의 방법은 이메일이 사용자의받은 편지함에 도달하는 것입니다.

안전망의 경우 첫 번째 링크가 어떤 이유로 실패하면 사용자가 활성화 링크를 재판매 할 수있는 기능을 가질 수 있습니다.

Gmail을 SMTP로 사용하는 것이 불편한 경우 Google Apps와 함께 UR 도메인을 가입 할 수 있지만 (비즈니스 요구 사항이 변경 될 수 있음) admin@domain.com 종류의 이메일을 가질 수 있으며 효율적인 Gmail SMTP 서버를 사용할 수 있습니다.

Phpmailer와 같은 많은 라이브러리가있어 외부 SMTP 서버를 사용할 수 있습니다. Gmail 서버를 통한 모든 데이터는 SSL 또는 TSL을 통해 이동합니다.

등록 이메일을 보내는 이메일 서버의 로그 파일에 액세스 할 수 있습니까? 튀어 나온 이메일 보통 전송 서버로 돌아갑니다. 로그 파일을 모니터링하면 로그 파일을 확인하고 확인한 이메일 (있는 경우)이 여전히 튀어 나오는 경우 확인할 수 있습니다.

활성화 된 이메일 주소없이 사용자는 웹 사이트에 어떤 액세스가 필요합니까? 기능이 비활성화되어 있습니까? 실제 이메일 주소를 활성화하거나 사용하는 인센티브가 있습니까?

예제에는 필요한 필드 인 날짜 헤더가 표시되지 않습니다. 내 경험상 일부 메일 핸들러는 하나가없는 이메일을 거부합니다 (일부는 현재 날짜에 하나만 추가하십시오.) 실제 코드가 없으면 하나를 추가하고 차이가 있는지 확인하십시오.

필요한 내용에 대한 정보는 RFC2822를 검색하십시오.

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