WordPress + envio de email por SMTP + Gmail

Se seu serviço de hospedagem não tem servidor de emails (ou se o servidor de emails vive caindo, ou se é impossível de configurar, etc.) você pode enviar os emails do wordpress através de uma conexão smtp com outro servidor com o plugin WP Mail SMTP.

Para usar este plugin e o servidor SMTP do gmail, por exemplo, aqui vão as configurações necessárias:

  1. No seu painel vá até “Configurações -> Email”;
  2. Preencha os campos da seguinte forma:
    • From Email: coloque o endereço de email do remetente
    • From Name: coloque o nome do remetente
    • Mailer: Marque “Send all WordPress emails via SMTP”
    • Return Path: Marque “Set the return-path to match the From Email”
    • SMTP Host: smtp.gmail.com
    • SMTP Port: 465
    • Encryption: Marque “Use SSL encryption”.
    • Authentication: Marque “Yes: Use SMTP authentication”.
    • Username: coloque o seu endereço do gmail (com o @gmail.com)
    • Password: coloque a sua senha do gmail
  3. Salve as suas configurações e só depois de salvar faça um teste.

Atualização: aparentemente o Google tem bloqueado por padrão tentativas menos seguras de acesso. Para que a configuração acima possa funcionar é necessário ir até a Configuração de aplicativos menos seguros e ativar esse tipo de acesso.

Tags:

Comentários

  • Ola Felipe, seguindo a sua orientação
    da o seguinte erro

    Test Message Sent
    The result was:
    bool(false)
    The full debugging output is shown below:
    object(PHPMailer)#369 (65) {
    [“Priority”]=>
    int(3)
    [“CharSet”]=>
    string(5) “UTF-8”
    [“ContentType”]=>
    string(10) “text/plain”
    [“Encoding”]=>
    string(4) “8bit”
    [“ErrorInfo”]=>
    string(43) “SMTP Error: Could not connect to SMTP host.”
    [“From”]=>
    string(20) “w3sandoval@gmail.com”
    [“FromName”]=>
    string(15) “walter sandoval”
    [“Sender”]=>
    string(20) “w3sandoval@gmail.com”
    [“ReturnPath”]=>
    string(0) “”
    [“Subject”]=>
    string(40) “WP Mail SMTP: Test mail to w50@email.com
    [“Body”]=>
    string(68) “This is a test email generated by the WP Mail SMTP WordPress plugin.”
    [“AltBody”]=>
    string(0) “”
    [“MIMEBody”:protected]=>
    string(69) “This is a test email generated by the WP Mail SMTP WordPress plugin.

    [“MIMEHeader”:protected]=>
    string(434) “Date: Mon, 24 Mar 2014 04:51:02 +0000
    Return-Path: w3sandoval@gmail.com
    To: w50@email.com
    From: walter sandoval
    Subject: WP Mail SMTP: Test mail to w50@email.com
    Message-ID:
    X-Priority: 3
    X-Mailer: PHPMailer 5.2.4 (http://code.google.com/a/apache-extras.org/p/phpmailer/)
    MIME-Version: 1.0
    Content-Transfer-Encoding: 8bit
    Content-Type: text/plain; charset=UTF-8


    [“mailHeader”:protected]=>
    string(0) “”
    [“WordWrap”]=>
    int(0)
    [“Mailer”]=>
    string(4) “smtp”
    [“Sendmail”]=>
    string(18) “/usr/sbin/sendmail”
    [“UseSendmailOptions”]=>
    bool(true)
    [“PluginDir”]=>
    string(0) “”
    [“ConfirmReadingTo”]=>
    string(0) “”
    [“Hostname”]=>
    string(0) “”
    [“MessageID”]=>
    string(0) “”
    [“MessageDate”]=>
    string(0) “”
    [“Host”]=>
    string(14) “smtp.gmail.com”
    [“Port”]=>
    string(3) “465”
    [“Helo”]=>
    string(0) “”
    [“SMTPSecure”]=>
    string(3) “ssl”
    [“SMTPAuth”]=>
    bool(true)
    [“Username”]=>
    string(20) “w3sandoval@gmail.com”
    [“Password”]=>
    string(10) “”
    [“AuthType”]=>
    string(0) “”
    [“Realm”]=>
    string(0) “”
    [“Workstation”]=>
    string(0) “”
    [“Timeout”]=>
    int(10)
    [“SMTPDebug”]=>
    bool(true)
    [“Debugoutput”]=>
    string(4) “echo”
    [“SMTPKeepAlive”]=>
    bool(false)
    [“SingleTo”]=>
    bool(false)
    [“SingleToArray”]=>
    array(0) {
    }
    [“LE”]=>
    string(1) ”

    [“DKIM_selector”]=>
    string(0) “”
    [“DKIM_identity”]=>
    string(0) “”
    [“DKIM_passphrase”]=>
    string(0) “”
    [“DKIM_domain”]=>
    string(0) “”
    [“DKIM_private”]=>
    string(0) “”
    [“action_function”]=>
    string(0) “”
    [“Version”]=>
    string(5) “5.2.4”
    [“XMailer”]=>
    string(0) “”
    [“smtp”:protected]=>
    object(SMTP)#368 (11) {
    [“SMTP_PORT”]=>
    int(25)
    [“CRLF”]=>
    string(2) ”

    [“do_debug”]=>
    bool(true)
    [“Debugoutput”]=>
    string(4) “echo”
    [“do_verp”]=>
    bool(false)
    [“Timeout”]=>
    int(10)
    [“Timelimit”]=>
    int(30)
    [“Version”]=>
    string(5) “5.2.4”
    [“smtp_conn”:”SMTP”:private]=>
    bool(false)
    [“error”:”SMTP”:private]=>
    array(1) {
    [“error”]=>
    string(38) “Called Reset() without being connected”
    }
    [“helo_rply”:”SMTP”:private]=>
    NULL
    }
    [“to”:protected]=>
    array(1) {
    [0]=>
    array(2) {
    [0]=>
    string(13) “w50@email.com”
    [1]=>
    string(0) “”
    }
    }
    [“cc”:protected]=>
    array(0) {
    }
    [“bcc”:protected]=>
    array(0) {
    }
    [“ReplyTo”:protected]=>
    array(0) {
    }
    [“all_recipients”:protected]=>
    array(1) {
    [“w50@email.com”]=>
    bool(true)
    }
    [“attachment”:protected]=>
    array(0) {
    }
    [“CustomHeader”:protected]=>
    array(0) {
    }
    [“message_type”:protected]=>
    string(5) “plain”
    [“boundary”:protected]=>
    array(3) {
    [1]=>
    string(35) “b1_6578d022b458b288ceb0214b1224dc6f”
    [2]=>
    string(35) “b2_6578d022b458b288ceb0214b1224dc6f”
    [3]=>
    string(35) “b3_6578d022b458b288ceb0214b1224dc6f”
    }
    [“language”:protected]=>
    array(18) {
    [“authenticate”]=>
    string(35) “SMTP Error: Could not authenticate.”
    [“connect_host”]=>
    string(43) “SMTP Error: Could not connect to SMTP host.”
    [“data_not_accepted”]=>
    string(30) “SMTP Error: Data not accepted.”
    [“empty_message”]=>
    string(18) “Message body empty”
    [“encoding”]=>
    string(18) “Unknown encoding: ”
    [“execute”]=>
    string(19) “Could not execute: ”
    [“file_access”]=>
    string(23) “Could not access file: ”
    [“file_open”]=>
    string(33) “File Error: Could not open file: ”
    [“from_failed”]=>
    string(35) “The following From address failed: ”
    [“instantiate”]=>
    string(36) “Could not instantiate mail function.”
    [“invalid_address”]=>
    string(15) “Invalid address”
    [“mailer_not_supported”]=>
    string(25) ” mailer is not supported.”
    [“provide_address”]=>
    string(54) “You must provide at least one recipient email address.”
    [“recipients_failed”]=>
    string(45) “SMTP Error: The following recipients failed: ”
    [“signing”]=>
    string(15) “Signing Error: ”
    [“smtp_connect_failed”]=>
    string(22) “SMTP Connect() failed.”
    [“smtp_error”]=>
    string(19) “SMTP server error: ”
    [“variable_set”]=>
    string(30) “Cannot set or reset variable: ”
    }
    [“error_count”:protected]=>
    int(2)
    [“sign_cert_file”:protected]=>
    string(0) “”
    [“sign_key_file”:protected]=>
    string(0) “”
    [“sign_key_pass”:protected]=>
    string(0) “”
    [“exceptions”:protected]=>
    bool(true)
    }
    The SMTP debugging output is shown below:
    SMTP -> ERROR: Failed to connect to server: Connection timed out (110)

    grato pela ajuda
    Walter

  • francisca

    jovem, no meu caso o meu formulário de contato funcionava perfeitamente depois que instalei um plugin chamado contact form ele parou de funcionar, quando eu coloco um email do gmail funciona mais quando coloco do meu servido de email não vai, tem alguma ideia do que possa ser.?

  • Boa noite,

    Pode me informar qual finalidade real de se ter um plugin de email via smtp ? e somente para uso de formulário, como faço para enviar email ?

    Agradeço se for esclarecedor,

    Att

    Sergio

  • Felipe Elia

    Essa é fácil Sérgio, a finalidade real de se ter um plugin de email via smtp: enviar emails via um servidor smtp diferente que o servidor atual. Sobre enviar emails através de envio de formulários preciso saber melhor até que ponto você entende a mecânica de envio do WordPress ok?

  • Carlos Nani

    Foi o único tutorial que funcionou para mim. Obrigado.

  • Raphael Amado Oliveira

    Ola Felipe fiz o que você falou mas continua dando o seguinte erro:
    SMTP Error: Could not authenticate.
    O que tenho que fazer?

    Abs

  • Normalmente no final da tela de erro tem mais detalhes sobre o que deu errado. “Could not authenticate” pode indicar erro no usuário ou senha 🙂