Por que é tão difícil enviar e-mails usando PHP? [fechadas]

0

Isso não é um problema de codificação, então acho que "superusuário" é o melhor lugar para postar isso.

Eu tenho tentado enviar e-mail usando PHP por cerca de uma semana, e ainda não tenho sucesso. Minha história até agora:

  1. Tentando entrar em contato com minha empresa de hospedagem sobre o servidor / porta SMTP para colocar meu "php.ini" para enviar e-mails. Eles respondem que eu tenho um servidor dedicado não gerenciado, o que significa basicamente eu pago por seus serviços extras ou vou --- eu mesmo.

  2. Tentando usar scripts PHP aleatórios que encontrei no google, não tenho idéia de como eles funcionam, mas eles sempre acabam nas pastas de spam, e muitas vezes são ignorados por grandes sistemas de email como o hotmail (eles nem sequer aparecer em tudo na maioria das vezes)

  3. Eu tentei a classe PHPMailer que usa o servidor SMTP do Google, mas por algum motivo, o google freeze bloqueia o acesso a qualquer conta do Gmail que eu faço, uma vez que eu digito sua senha no script PHP. Não consigo mais usar essa conta.

  4. Eu tenho uma opção agora, hospedando meu próprio servidor SMTP? Mas não tenho ideia de como e parece muito trabalho a ser feito .. Provavelmente eu preciso de semanas para aprender como isso funciona antes de decidir se foi uma boa ideia ou não.

Por que é tão difícil enviar um simples e-mail "Hello World" usando PHP, de graça? O que vocês podem me recomendar para resolver esse problema? Devo tentar hospedar meu próprio servidor SMTP? (Eu tenho um IP estático e um domínio dot com)

    
por Reacen 12.04.2013 / 00:07

2 respostas

3

Enviar e-mail via php é fácil ... Acho que sua pergunta é mais sobre como enviar e-mails para seus destinatários ...

Faça algumas pesquisas sobre "entrega de e-mails" e confira este post:

link

Além disso, usar um serviço smtp confiável (pago) pode ajudar ... Sendgrid, socketlabs, authsmtp, etc. (usei todos os 3)

    
por 12.04.2013 / 00:35
3
  1. Os scripts PHP não precisam necessariamente de um servidor SMTP para enviar e-mails. Você pode até enviar um email "manualmente" a partir da linha de comando. SMTP foi projetado especificamente para isso.

  2. Um email pode acabar nas pastas de spam por várias razões que podem ser mais ou menos divididas em duas categorias:

    Filtrar com base no próprio email

    Um e-mail "confiável" terá um assunto, cabeçalhos adequados, mensagens multipartes em vez de somente HTML, conter uma quantidade mínima de texto e evitar imagens grandes e algumas palavras-chave. Os detalhes exatos dependem da configuração do filtro de spam.

    Isso dependerá parcialmente do script PHP.

    Filtrando com base no host

    Ao receber mensagens recebidas, muitos filtros de spam verificam se o IP (ou o nome do host ou o domínio do remetente) está na lista negra (verifique aqui ) ou na lista de permissões (aplique, por exemplo, aqui ) em alguma lista em tempo real, se o host tiver permissão para enviar e-mails desse domínio ( SPF ) e se o servidor específico tiver permissão para fazê-lo ( DKIM ).

  3. Há um tutorial recente aqui sobre como fazer isso.

    A linha

    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    

    parece ser particularmente importante, já que não faz parte da maioria dos tutoriais do PHPMailer e a falha em usar o SSL poderia ser um motivo para bloquear uma conta do Google.

  4. Se você hospedar um servidor SMTP na mesma máquina que está enviando os e-mails via PHP, você terá exatamente os mesmos problemas.

Why is it so hard to send a simple "Hello World" email using PHP, for free ?

Spam. Muitos disso. De acordo com Estatísticas de Spam da Trustwave , quase três em cada quatro e-mails são spam. Isso requer uma filtragem bastante agressiva para impedir que todos nós nos afogemos em spam.

    
por 12.04.2013 / 01:26

Tags