Pergunta

Eu estou usando php e mysql. E o meu site é flash (site flash completo)

Eu tenho um site que permite que os usuários para se inscrever. O processo de inscrição incluindo o envio de "e-mail de ativação", clique no link para a conta activate.

As primeiras duas semanas estava bem. Fora de cerca de 2000 utilizadores, 1800 usuários são ativados. Depois disso, os utilizadores activados cair drasticamente, a cerca de 30%. Exemplo:. 1000 utilizadores de inscrição, única 300 foram activadas

Em primeiro lugar, eu encontrei o problema é porque o e-mail não poderia ser alcance a usuários yMail, MSN e Gmail. (A maioria dos meus assinantes são Ymail (yahoo), hotmail / msn (live) e gmail (gmail)). Tentei inscrição usando ymail e hotmail, mas eu não receber qualquer e-mail de ativação. Entrei em contato com Yahoo e MSN, eventualmente, o meu e-mail pode passar por agora.

No entanto, a minha estatística de inscrição ainda mostrando, os usuários ativados são apenas cerca de 30%, o que muito me confundir. I em contato com minha empresa de hospedagem, pedir-lhes o whitelist meu IP. E eles fizeram isso.

Eu preciso de seus conselhos / ajuda on seguintes perguntas:

  • Como verificar onde as mentiras de problema? É o e-mail não entregue? Usuário receber e-mails, mas não tivemos clique no link de activação?

Eu estou usando funstion php mail. E esta é minha cabeçalhos:

  $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\";

(eu escondo meu nome de domínio, e eu adicionar barras invertidas dentro de e-mails, porque se não, o e-mail não vou mostrar aqui, estranho)

Existe errado alguma coisa com os cabeçalhos?

  • O que posso fazer para melhorar o meu processo de ativação de registro / inscrição?
Foi útil?

Solução

Você deve passar o seu caminho de retorno como parâmetro "-f" para função mail ():

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

Além disso, para os melhores resultados, se o servidor de envio tem um nome de domínio público example.com, o caminho de retorno deve ser something@example.com.

De qualquer forma, você deve definitivamente verificar os logs (/ var / log / mail *) para saber exatamente o que está acontecendo.

Outras dicas

Tente usar o Gmail como seu istead servidor SMTP do servidor de correio como o sendmail de um domínio. Usando gmail smtp seria meio que garantir que seus e-mails são enviados em melhor surity esforço. Também Gmail não seria tratado como spam, a menos ID de e-mail é marcado como spam (por isso tente usar um que é seguro). Para melhorar singup-> activação através de colocar o seu melhor aposta é a de garantir que o email está atingindo caixa de entrada do usuário.

Para rede de segurança que você pode ter um recurso em que você permitir que o usuário para reenviar o link de ativação se o primeiro falhou por algum motivo.

Se você está desconfortável usando o Gmail como SMTP, você pode se inscrever ur domínio com aplicativos do Google (mas que pode exigir mudanças nas necessidades de negócios) e você pode ter admin@domain.com tipo de e-mail e ainda usar servidores SMTP do Gmail eficientes .

Existem muitas bibliotecas lá fora, como phpmailer que permite usar servidores SMTP externos. Nota todos os dados através de servidores do Gmail ir via SSL ou TSL.

Você tem acesso aos arquivos de log do servidor de e-mail enviando os e-mails de inscrição? Qualquer saltou e-mails normalmente voltar para o servidor de envio. Ao monitorar os arquivos de log que você pode verificar e ver o que o número de e-mails (se houver) ainda estão se recuperou.

Que tipo de acesso fazer os usuários têm a seu Web site sem um endereço de e-mail ativado? Há recursos desativada? Existem quaisquer incentivos para ativar ou usar um endereço de email real?

Seu exemplo não mostra um cabeçalho da data que é um campo obrigatório. Na minha experiência, alguns manipuladores de correio rejeitar e-mails que não têm um (e alguns apenas adicionar uma com a data atual.) Se o seu código real não tem um, então tente adicionar um e ver se ele faz a diferença.

Pesquise RFC2822 para obter informações sobre o que é necessário,

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top