Esse script é baseado no post como enviar emails autenticados pelo gmail/google apps. É altamente recomendado ler tal post antes de cair de mãos na massa no post de hoje.
Vamos a algumas considerações do script:
- Assim como a HostNet o Gmail também não permite forjar o From(”de”), ou seja, o from(”de”) sempre será o email que autenticará no Gmail. Eu utilizo o reply-to no cabeçalho para o destinatário quando clicar em responder aparecer o email de quem indicou e não do email do gmail.
- Outra coisa, no exemplo abaixo o debug está ligado, para desligar o debug basta comentar a linha abaixo:
'debug' => true, // Debug ligado
Esse script foi pedido pelo Ramon, acho que é isso, no post sobre o google apps.
<?php // Incluindo arquivo com a classe Mail require_once('Mail.php'); if ($_SERVER['REQUEST_METHOD'] == 'POST') { // Nome de quem está indicando o site $indicador_nome = $_POST['meu_nome']; // Email de quem está indicando o site $indicador_email = $_POST['meu_email']; // Nome de quem receberá o email $nome = $_POST['nome_do_amigo']; // Email que receberá o email $to = $_POST['email_do_amigo']; // Nome de quem está enviando $from = "$indicador_nome <$indicador_email>"; // Assunto da mensagem $subject = 'Indicação de site'; /* Corpo da mensagem Em caso de formulário alterar para a variável $_POST['CAMPO'] */ $body =<<<EOM Indicação de site de $indicador_nome!!! EOM; // Servidor do Gmail $host = "ssl://smtp.gmail.com"; // Email do Gmail que fará o envio autenticado $username = 'noel@noelrocha.com'; // Sua senha do GMAIL $password = 'SECRETA'; // Cabeçalho do email $headers = array ( 'From' => $from, 'Reply-to' => $from, 'To' => $to, 'Subject' => $subject ); $smtp = Mail::factory('smtp', array ( 'host' => $host, 'port' => 465, // SMTPS(para mais detalhes ver /etc/services 'auth' => true, 'debug' => true, // Debug ligado 'username' => $username, 'password' => $password ) ); // Efetuando o envio autenticado $mail = $smtp->send($to, $headers, $body); // Verificando se houve erro if (PEAR::isError($mail)) { echo("Error" . $mail->getMessage()); } else { echo("Email enviado com sucesso!!"); } } ?> <form method="POST"> Nome:<br/> <input type="txt" name="meu_nome"><br/> Email:<br/> <input type="txt" name="meu_email"><br/> Nome do seu amigo:<br/> <input type="txt" name="nome_do_amigo"><br/> Email do amigo:<br/> <input type="txt" name="email_do_amigo"><br/> <br/> <input type="submit"> </form>
Muito bom!
Estamos acompanhando todas as suas dicas.
Estou tentando criar um formulário de contato para enviar pelo gmail/google apps porém está dando erro.
Poderia me ajudar?
Da forma acima não estou conseguindo …
tinha um arquivo para envio do e-mail que tinha o código em php … porém com a mudança para o gmail está sempre dando erro.
@Alberto
Qual erro está dando? Tem algum endereço para eu dar uma olhada no formulário?
Pode entrar no meu site e abrir o contato
@Alberto, Se importaria em me mostrar o conteúdo do contato_envia.php? Por favor, lembre de retirar dados sigilosos como senha e email utilizado para a autenticação.
Comments RSS TrackBack Identifier URI
Leave a comment






5 Comments