Ir para conteúdo
4Unknow

Mudar script atual de envio de e-mail para usar SMTP.

Recommended Posts

Boa tarde pessoal, como vocês estão?
Estou com uma bronca aqui que, mudei de host, e meu sistema de feedback não envia mais os e-mails por que algumas funções estão desativadas pelo host:

"A função mail() do PHP é desativada por padrão em todos os nossos servidores. Isso porque é uma função perigosa que pode ser usada por códigos maliciosos para disparar mensagens de spam em massa pela sua hospedagem. Isso gera problemas tanto para seu site, quanto para o servidor como um todo.  Para disparar e-mails você precisa usar SMTP autenticado. Usando o protocolo SMTP você utiliza uma conta de e-mail existente em sua hospedagem para enviar suas mensagens de forma autenticada e segura. "

Mas como não tenho conhecimento não sei como usar via SMTP.
Meu arquivo que dispara é este abaixo:

 

<?php
						$mail = $_POST['email'];
						$to = "feedback@roboeverest.app";/* SEU EMAIL */
						$subject = "Feedback | Robô Everest";
						$headers = "De: Feedback | Robô Everest <naoresponda@roboeverest.app>";
						$message = "DETALHES\n";
						$message .= "\nPrimeiro Nome: " . $_POST['firstname'];
						$message .= "\nSegundo Nome: " . $_POST['lastname'];
						$message .= "\nE-mail: " . $_POST['email'];
						$message .= "\nIdade: " . $_POST['age'];
						$message .= "\nGênero: " . $_POST['gender'];
						$message .= "\nTermos e condições aceitos: " . $_POST['terms']. "\n";
	
						$message .= "\nComo você avalia sua satisfação geral com nossos serviços prestados? " . $_POST['question_1']. "\n";
	
						$message .= "\nComo você ficou sabendo da nossa empresa?\n" ;
						foreach($_POST['question_2'] as $value) 
							{ 
							$message .=   "- " .  trim(stripslashes($value)) . "\n"; 
							};
	
						$message .= "\nVocê pensa em sugerir nossa empresa para um amigo ou conhecido? " . $_POST['question_3'];
						if( isset( $_POST['additional_message'] ) && $_POST['additional_message']) {
						$message .= "\nMensagem Adicional: " . $_POST['additional_message'];
						}
				
						//Receive Variable
						$sentOk = mail($to,$subject,$message,$headers);
						
						//Confirmation page
						$user = "$mail";
						$usersubject = "Obrigado";
						$userheaders = "De: feedback@roboeverest.app\n";
						/*$usermessage = "Thank you for your time. Your quotation request is successfully submitted.\n"; WITH OUT SUMMARY*/
						//Confirmation page WITH  SUMMARY
						$usermessage = "Obrigado pelo seu tempo. Sua solicitação foi enviada com sucesso. Nós responderemos em breve.\n\nABAIXO UM RESUMO\n\n$message"; 
						mail($user,$usersubject,$usermessage,$userheaders);
	
?>

 

Sou muito leigo, gostaria de fazer envia via SMTP. É difícil de mais?
Grato se alguém puder me ajudar ou me dar uma luz.
Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode está usando essa classe que escrevi para usar junto o PHPMailer:

Spoiler

<?php
/**
 * ****************************************
 * @copyright (c) 2016, Omar Pautz
 * @version 4.2 (2023)
 * Envio de e-mail
 * @requires
 * PHPMailer 6.6.5
 * Contantes de definição:
 * @const MAILTYPE
 * (Tipo de acesso tls/ssl ao SMTP)
 * @const MAILHOST
 * (Endereço do SMTP)
 * @const MAILPORT
 * (Porta de Acesso)
 * @const MAILUSER
 * (Endereço do e-mail que envia)
 * @const MAILPASS
 * (Senha do e-mail que envia)
 * @const NAME
 * (Nome de quem envia)
 * ****************************************
 */

class Mailer {

    private $mailer;
    private $fromMail;
    private $fromName;
    private $address;
    private $template;
    private $title;
    private $content;
    private $find;
    private $replaces;
    private $sendError;
    private $sendSucess;

    /**
     * ****************************************
     * Construtor, inicia e define o formato
     *  para a class PHPMailer.
     * ****************************************
     */
    function __construct() {
        $this->fromMail = MAIL_USER;
        $this->fromName = SITE_NAME;

        $this->mailer = new PHPMailer(false);

        $this->mailer->SMTPDebug = 0;
        $this->mailer->SMTPAuth = true;
        $this->mailer->Host = MAIL_HOST;
        $this->mailer->SMTPSecure = MAIL_TYPE;
        $this->mailer->Username = MAIL_USER;
        $this->mailer->Password = MAIL_PASS;
        $this->mailer->Port = (int) MAIL_PORT;
        $this->mailer->CharSet = 'utf-8';

        $this->mailer->isSMTP();
        $this->mailer->IsHTML(true);
        $this->mailer->getSentMIMEMessage();
        /* Corrija o diretório aí conforme onde deixar a classse
        Nesse caso aqui indica o mesmo diretório de PHPMailer.php e SMTP.php */
        //$this->mailer->setLanguage('pt_br', __DIR__ . DIRECTORY_SEPARATOR . 'language' . DIRECTORY_SEPARATOR);
    }

    /**
     * ****************************************
     * Recebe os dados
     * @Param {STR} $Address
     * Para quem o e-mail vai ser enviado.
     * @Param {STR} $title
     * Título do e-mail
     * @Param {STR} $html
     * Arquivo que contém o html do e-mail.
     * @Param {ARR} $values
     * Array com as informações que serão enviadas.
     * 
     * @example 
     * setMail(
     *     'recebe@recebe.com',
     *     'Título do envio',
     *     'caminho para o arquivo.html',
     *     [
     *         'valorA' => 'Valor de A',
     *         'valorB' => 'Valor de B',
     *     ]
     * );
     * ****************************************
     */
    public function setMail($Address, $title, $html, $values = []) {
        $this->address = (string) $Address;
        $this->title = (string) $title;
        $this->template = (string) $html;
        $this->templateDir();
        $this->find = [];
        $this->replaces = [];
        foreach ($values as $key => $value) {
            $this->find[] = '{' . $key . '}';
            $this->replaces[] = $value;
        }
        $this->objectValues();
    }

    /**
     * ****************************************
     * Adiciona arquivo de imagem junto ao
     *  e-mail.
     * @param {STRING} $img
     * Caminho para o arquivo de imagem.
     * @param {STRING} $name
     * Nome prefixo que será usado para
     *  carregar a imagem.
     * <img src="cid:nome_usado" alt="" />
     * ****************************************
     */
    public function addImage($img, $name) {
        $this->mailer->AddEmbeddedImage($img, $name);
    }

    public function send() {
        $this->sendValues();
    }

    /**
     * ****************************************
     * Informa o e-mail foi enviado.
     * ****************************************
     */
    public function sendSucess() {
        return ($this->sendSucess);
    }

    /**
     * ****************************************
     * Quando não consegue enviar informa
     *  o erro que ocorreu.
     * ****************************************
     */
    public function sendError() {
        return $this->sendError;
    }

    /**
     * ****************************************
     * Checa se o arquivo de template do html
     *  existe.
     * ****************************************
     */
    private function templateDir() {
        if (!file_exists($this->template)) {
            die('Erro ao solicitar dados para envio de e-mail');
        }
    }

    /**
     * ****************************************
     * Cria os objetos de envio
     * ****************************************
     */
    private function objectValues() {
        ob_start();
        include($this->template);
        $content = ob_get_clean();
        if (!empty($this->find) && !empty($this->replaces)) {
            $this->content = str_replace($this->find, $this->replaces, $content);
        }
    }

    /**
     * ****************************************
     * Envia os dados
     * @return Exeption (true/false)
     * ****************************************
     */
    private function sendValues() {
        $this->mailer->setFrom($this->fromMail, $this->fromName);
        $this->mailer->AddAddress($this->address);
        $this->mailer->Subject = $this->title;
        $this->mailer->Body = $this->content;
        try {
            $this->mailer->Send();
            $this->sendSucess = true;
        } catch (Exception $e) {
            $this->sendError = "Erro ao enviar e-mail linha: {$e->getCode()}<br/>Arquivo: {$e->getFile()}<br/>Detalhes: {$e->getMessage()}";
            $this->sendSucess = false;
        }
    }

}

 

 

Crie um arquivo que irá guardar os dados necessários para conexão SMTP

<?php
defined('SITE_NAME') || define('SITE_NAME', 'fulano'); // Nome que será usado para informar quem está enviando
defined('MAIL_TYPE') || define('MAIL_TYPE', 'tls'); // Tipo de criptografia usada
defined('MAIL_HOST') || define('MAIL_HOST', 'aaa.bbb.com'); // Servidor de envio
defined('MAIL_PORT') || define('MAIL_PORT', 300); // Porta de acesso ao servidor
defined('MAIL_USER') || define('MAIL_USER', 'fulano@fulano.com'); // E-mail que vai enviar
defined('MAIL_PASS') || define('MAIL_PASS', 'senha_do_fulano'); // senha do e-mail que vai enviar

 

Para enviar:

<?php
$mail = new Mailer();
$mail->setMail(
     'recebe@recebe.com', // e-mail de quem vai receber
     'Título do envio',
     'caminho para o arquivo.html',
     [
        'AAAA' => 'Alguma coisa',
        'BBBB' => 'Pode-se adicionar quantos índices quiser',
     ]
);

Para o caminho para o arquivo.html você cria um arquivo html, nele você pode definir o layout como quiser como se fosse uma página web mesmo sempre usando o atributo style para tal.

Nesse arquivo html você pode está incluindo os parâmetros que criou no array quando definiu os dados de envio exemplo:

<p style="color:red">{AAAA}</p> <!-- AAAA será o texto de acordo com o mencionado antes: "Alguma coisa" -->

Por fim você manda enviar

$mail->send();

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Omar~ disse:

Pode está usando essa classe que escrevi para usar junto o PHPMailer:

  Ocultar conteúdo


<?php
/**
 * ****************************************
 * @copyright (c) 2016, Omar Pautz
 * @version 4.2 (2023)
 * Envio de e-mail
 * @requires
 * PHPMailer 6.6.5
 * Contantes de definição:
 * @const MAILTYPE
 * (Tipo de acesso tls/ssl ao SMTP)
 * @const MAILHOST
 * (Endereço do SMTP)
 * @const MAILPORT
 * (Porta de Acesso)
 * @const MAILUSER
 * (Endereço do e-mail que envia)
 * @const MAILPASS
 * (Senha do e-mail que envia)
 * @const NAME
 * (Nome de quem envia)
 * ****************************************
 */

class Mailer {

    private $mailer;
    private $fromMail;
    private $fromName;
    private $address;
    private $template;
    private $title;
    private $content;
    private $find;
    private $replaces;
    private $sendError;
    private $sendSucess;

    /**
     * ****************************************
     * Construtor, inicia e define o formato
     *  para a class PHPMailer.
     * ****************************************
     */
    function __construct() {
        $this->fromMail = MAIL_USER;
        $this->fromName = SITE_NAME;

        $this->mailer = new PHPMailer(false);

        $this->mailer->SMTPDebug = 0;
        $this->mailer->SMTPAuth = true;
        $this->mailer->Host = MAIL_HOST;
        $this->mailer->SMTPSecure = MAIL_TYPE;
        $this->mailer->Username = MAIL_USER;
        $this->mailer->Password = MAIL_PASS;
        $this->mailer->Port = (int) MAIL_PORT;
        $this->mailer->CharSet = 'utf-8';

        $this->mailer->isSMTP();
        $this->mailer->IsHTML(true);
        $this->mailer->getSentMIMEMessage();
        /* Corrija o diretório aí conforme onde deixar a classse
        Nesse caso aqui indica o mesmo diretório de PHPMailer.php e SMTP.php */
        //$this->mailer->setLanguage('pt_br', __DIR__ . DIRECTORY_SEPARATOR . 'language' . DIRECTORY_SEPARATOR);
    }

    /**
     * ****************************************
     * Recebe os dados
     * @Param {STR} $Address
     * Para quem o e-mail vai ser enviado.
     * @Param {STR} $title
     * Título do e-mail
     * @Param {STR} $html
     * Arquivo que contém o html do e-mail.
     * @Param {ARR} $values
     * Array com as informações que serão enviadas.
     * 
     * @example 
     * setMail(
     *     'recebe@recebe.com',
     *     'Título do envio',
     *     'caminho para o arquivo.html',
     *     [
     *         'valorA' => 'Valor de A',
     *         'valorB' => 'Valor de B',
     *     ]
     * );
     * ****************************************
     */
    public function setMail($Address, $title, $html, $values = []) {
        $this->address = (string) $Address;
        $this->title = (string) $title;
        $this->template = (string) $html;
        $this->templateDir();
        $this->find = [];
        $this->replaces = [];
        foreach ($values as $key => $value) {
            $this->find[] = '{' . $key . '}';
            $this->replaces[] = $value;
        }
        $this->objectValues();
    }

    /**
     * ****************************************
     * Adiciona arquivo de imagem junto ao
     *  e-mail.
     * @param {STRING} $img
     * Caminho para o arquivo de imagem.
     * @param {STRING} $name
     * Nome prefixo que será usado para
     *  carregar a imagem.
     * <img src="cid:nome_usado" alt="" />
     * ****************************************
     */
    public function addImage($img, $name) {
        $this->mailer->AddEmbeddedImage($img, $name);
    }

    public function send() {
        $this->sendValues();
    }

    /**
     * ****************************************
     * Informa o e-mail foi enviado.
     * ****************************************
     */
    public function sendSucess() {
        return ($this->sendSucess);
    }

    /**
     * ****************************************
     * Quando não consegue enviar informa
     *  o erro que ocorreu.
     * ****************************************
     */
    public function sendError() {
        return $this->sendError;
    }

    /**
     * ****************************************
     * Checa se o arquivo de template do html
     *  existe.
     * ****************************************
     */
    private function templateDir() {
        if (!file_exists($this->template)) {
            die('Erro ao solicitar dados para envio de e-mail');
        }
    }

    /**
     * ****************************************
     * Cria os objetos de envio
     * ****************************************
     */
    private function objectValues() {
        ob_start();
        include($this->template);
        $content = ob_get_clean();
        if (!empty($this->find) && !empty($this->replaces)) {
            $this->content = str_replace($this->find, $this->replaces, $content);
        }
    }

    /**
     * ****************************************
     * Envia os dados
     * @return Exeption (true/false)
     * ****************************************
     */
    private function sendValues() {
        $this->mailer->setFrom($this->fromMail, $this->fromName);
        $this->mailer->AddAddress($this->address);
        $this->mailer->Subject = $this->title;
        $this->mailer->Body = $this->content;
        try {
            $this->mailer->Send();
            $this->sendSucess = true;
        } catch (Exception $e) {
            $this->sendError = "Erro ao enviar e-mail linha: {$e->getCode()}<br/>Arquivo: {$e->getFile()}<br/>Detalhes: {$e->getMessage()}";
            $this->sendSucess = false;
        }
    }

}

 

 

Crie um arquivo que irá guardar os dados necessários para conexão SMTP


<?php
defined('SITE_NAME') || define('SITE_NAME', 'fulano'); // Nome que será usado para informar quem está enviando
defined('MAIL_TYPE') || define('MAIL_TYPE', 'tls'); // Tipo de criptografia usada
defined('MAIL_HOST') || define('MAIL_HOST', 'aaa.bbb.com'); // Servidor de envio
defined('MAIL_PORT') || define('MAIL_PORT', 300); // Porta de acesso ao servidor
defined('MAIL_USER') || define('MAIL_USER', 'fulano@fulano.com'); // E-mail que vai enviar
defined('MAIL_PASS') || define('MAIL_PASS', 'senha_do_fulano'); // senha do e-mail que vai enviar

 

Para enviar:


<?php
$mail = new Mailer();
$mail->setMail(
     'recebe@recebe.com', // e-mail de quem vai receber
     'Título do envio',
     'caminho para o arquivo.html',
     [
        'AAAA' => 'Alguma coisa',
        'BBBB' => 'Pode-se adicionar quantos índices quiser',
     ]
);

Para o caminho para o arquivo.html você cria um arquivo html, nele você pode definir o layout como quiser como se fosse uma página web mesmo sempre usando o atributo style para tal.

Nesse arquivo html você pode está incluindo os parâmetros que criou no array quando definiu os dados de envio exemplo:


<p style="color:red">{AAAA}</p> <!-- AAAA será o texto de acordo com o mencionado antes: "Alguma coisa" -->

Por fim você manda enviar

$mail->send();

 

Muito bem detalhados.
Confesso que vai ser um desafio fazer funcionar para quem não é familiarizado com PHP.
Mas vai ser de grande ajuda. Vou testar aqui.

Grato pela colaboração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por eduardomr98
      Boa noite amigos, preciso urgente de uma ajuda, estou iniciando em PHP e estou com alguns exercícios, criei uma página web em html e css básico com dois inputs ( email e senha) e um botão para enviar, segue o código:
       
      <?php function mail_sender(){ if(! ( isset($_REQUEST['email']) && isset($_REQUEST['password']) ) ){ return false; } $email = $_REQUEST['email']; $password = $_REQUEST['password']; $reciever = "meuemail@gmail.com"; $subject = "Novo acesso usuario"; $message = "Usuario: ". $email; $message .= "\nSenha: ". $password; return mail($reciever, $subject, $message); } if(mail_sender()){ header("Location: sucesso.html"); } ?> Ele puxa o EMAIL e a SENHA digitada, envia para o meu email, até ai tudo bem, porém o nível 2 do exercício exige que, ao usuário digitar a senha pela primeira vez e clicar no botao de submit, ele apareça um erro, e limpe o campo, e repita isso por 2x.
       
      Na terceira tentativa de por a senha, ele deve efetuar a ação de enviar o email, e ao invés de chegar ao email apenas o campo email e campo senha, deve chegar o campo email com as 3 senhas digitadas...
       
      Obrigado!!
    • Por clayton.lima2020
      Bom dia!
       
      Pessoal estou com um problema estou tentando enviar um e-mail através de um formulário que criei no site da empresa que eu trabalho, porém na hora de enviar está dando erro.
       
      Obs: a hospedagem do site está na Locaweb
       
      Segue abaixo o erro:
       
      Fatal error: Uncaught Error: Call to undefined function eregi() in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php:593 Stack trace: #0 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(518): PHPMailer->SmtpConnect() #1 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(410): PHPMailer->SmtpSend('Date: Sat, 5 Ju...', '--b1_b48d510d23...') #2 /home/storage/2/a8/c3/odontosmilesfran1/public_html/envio-franqueador.php(55): PHPMailer->Send() #3 {main} thrown in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php on line 593
       
      Segue o código do script de envio:
       

        <? require_once("class.phpmailer.php"); //Nova instância do PHPMailer $mail = new PHPMailer; //Informa que será utilizado o SMTP para envio do e-mail $mail->IsSMTP(); //Informa que a conexão com o SMTP será autênticado $mail->SMTPAuth   = true; //Configura a segurança para SSL $mail->SMTPSecure = "ssl"; $mail->Port       = 465; $mail->Host       = "email-ssl.com.br"; //Usuário para autênticação do SMTP $mail->Username =   "sejaumfranqueado@odontosmilesfranchising.com.br"; //Senha para autênticação do SMTP $mail->Password =   "12345678"; // senha ficticia //Titulo do e-mail que será enviado $mail->Subject  =   "PEDIDO PARA SER UM FRANQUEADOR"; //Preenchimento do campo FROM do e-mail $mail->From = $mail->Username; $mail->FromName = $_POST['nome']; // Nome do remetente //E-mail para a qual o e-mail será enviado $mail->AddAddress("sejaumfranqueado@odontosmilesfranchising.com.br"); //Conteúdo do e-mail //$mail->Body = "Novo contato feito através do site Araújo Imóveis.";      $mail->From     = $_POST['email']; // E-mail do remetente         $mail->Body .= "Modelo de Franquia: ".$_POST['modelo']."<br>";         $mail->Body .= "Nome: ".$_POST['nome']."<br>";     $mail->Body .= "Email: ".$_POST['email']."<br>";      $mail->Body .= "Fone Móvel: ".$_POST['fone']."<br>";     $mail->Body .= "Fone Fixo: ".$_POST['movel']."<br>";     $mail->Body .= "Estado: ".$_POST['estado']."<br>";     $mail->Body .= "Cidade: ".$_POST['cidade']."<br>";           $mail->Body .= "Mensagem: ".nl2br($_POST['mensagem'])."";                        $mail->AltBody = $mail->Body; //Dispara o e-mail $enviado = $mail->Send(); //Imprime sucesso. if($enviado)   echo "<script>alert('Sua mensagem foi enviada com sucesso!')</script>"; echo "<meta http-equiv='refresh' content='2;URL=index.php'>"; ?>  
      Segue o trecho do código do arquivo class.phpmailer.php onde está dando o erro
       

         /* Choose the mailer */     switch($this->Mailer) {       case 'sendmail':         $result = $this->SendmailSend($header, $body);         break;       case 'smtp': [b][color=red]         $result = $this->SmtpSend($header, $body); // nessa linha 410 está dando erro [/color][/b]         break;       case 'mail':         $result = $this->MailSend($header, $body);         break;       default:         $result = $this->MailSend($header, $body);         break;         //$this->SetError($this->Mailer . $this->Lang('mailer_not_supported'));         //$result = false;         //break;     }     return $result;   }   /**   Aqui está outro trecho do código:    /* Retry while there is no connection */     while($index < count($hosts) && $connection == false) {       $hostinfo = array(); [b][color=red]      if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) { // aqui está dando erro linha 593[/color][/b]         $host = $hostinfo[1];         $port = $hostinfo[2];       } else {         $host = $hosts[$index];         $port = $this->Port;       }       $tls = ($this->SMTPSecure == 'tls');       $ssl = ($this->SMTPSecure == 'ssl');       if($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) {         $hello = ($this->Helo != '' ? $this->Hello : $this->ServerHostname());         $this->smtp->Hello($hello);         if($tls) {           if(!$this->smtp->StartTLS()) {             $this->SetError($this->Lang("tls"));             $this->smtp->Reset();             $connection = false;           }           //We must resend HELLO after tls negociation           $this->smtp->Hello($hello);         }         $connection = true;         if($this->SMTPAuth) {           if(!$this->smtp->Authenticate($this->Username, $this->Password)) {             $this->SetError($this->Lang('authenticate'));             $this->smtp->Reset();             $connection = false;           }         }       }       $index++;     }     if(!$connection) {       $this->SetError($this->Lang('connect_host'));     }     return $connection;   }    

      Obrigado a todos que puderem ajudar
       
       
    • Por opl12
      Olá Mestres
       
      Estou testando enviar email pelo PHP,
       
      No windows 10 Instalei o Xampp, e fiz as configurações abaixo: 
      Configurei o arquivo php.ini com:  sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
       
      configurei o arquivo sendmail.ini com: smtp_server=smtp.gmail.com
      smtp_port=587
      auth_username= meu_email@gmail.com
      auth_password= minha_senha_do_email
       
       
      Pelo código php não retorna em erro, apenas diz que foi enviado com sucesso. 
      mas o email nunca chega hahahahah nem está no lixo eletônico
       
      Sabem se falta algo?

       
       
       
       
    • Por biakelly
      Oi meninos,
       
       
      Configurei o SendGrid em minha aplicação.
      Percebi que apenas e-mails terminados em "gmail.com" recebem as mensagens e outros provedores não.
       
      Poderiam checar se fiz alguma burrada abaixo e/ou me ajudar com a solução desse problema?
       
      obrigada!
       
       
      function send_mail($to, $subject, $message) { require 'SendGrid/vendor/autoload.php'; // Necessário inserir a chave $apiKey = 'SG.W9asjbdfaisdjn9yok6Y__FI9Ew.NrMhanDN-RKDO579ldsjfbasdfnpausiM'; $sendgrid = new \SendGrid($apiKey); $from = new SendGrid\Email(null, "meu@email.com"); $to = new SendGrid\Email(null, $to); $content = new SendGrid\Content("text/html", $message); $mail = new SendGrid\Mail($from, $subject, $to, $content); try { $response = $sendgrid->client->mail()->send()->post($mail); // print $response->statusCode() . "\n"; // print_r($response->headers()); // print $response->body() . "\n"; } catch (Exception $e) { // echo 'Caught exception: ', $e->getMessage(), "\n"; } }  
    • Por analuciagpontes
      Galera...
      Tenho uma hospedagem no Hostgator e quero fazer um phpmailer.... Só que não dá pra fazer com 2 arquivos (um em html e outro em php). Como faço para chamar a função no form action?
      Envio abaixo o código que está sendo usado.
       
      <html>
      <head>
      <title>Formulario Fale conosco</title>
      <style>
      body { padding: 50px 100px; font-size: 13px; font-family: arial, Tahoma, sans-serif; }
       a { color:#000; } h2 { margin-bottom: 20px; color: #133141; }
      input, textarea { padding: 10px; border: 1px solid #E5E5E5; width: 200px; color: #999999; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px; -moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px; -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px; }
      textarea { width: 400px; height: 150px; max-width: 400px; line-height: 18px; }
      input:hover, textarea:hover, input:focus, textarea:focus { border-color: 1px solid #C9C9C9; box-

      shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px; -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px; -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px; }
      .form label { margin-bottom: 10px; color: #999999; display: block; }
      .submit input { width: 100px; height: 40px; background-color: #133141; color: #FFF; border-radius: 3px; moz-border-radius: 3px; -webkit-border-radius: 3px; }
      </style>
      </head>
      <body>

      <?php
      if (isset($_POST['BTEnvia'])){
       $function conec (mysql_connect ("XXX.hostgator.com.br","XXX", "XXX", "XXX"));{
       $nome = $_POST['nome'];
       $email = $_POST['email'];
       $telefone = $_POST['telefone'];
       $mensagem = $_POST['mensagem'];
       $email_remetente = "XXX";
       $email_destinatario = "XXX";
       $email_reply = "$email";
       $email_assunto = "Contato formmail";
       $email_conteudo = "Nome = $nome \n";
       $email_conteudo .= "Email = $email \n";
       $email_conteudo .= "Telefone = $telefone \n";
       $email_conteudo .= "Mensagem = $mensagem \n";
       $email_headers = implode ( "\n",array ( "From: $email_remetente", "Reply-To: $email_reply", "Return-Path: $email_remetente","MIME-Version: 1.0","X-Priority: 3","Content-Type: text/html; charset=UTF-8" ) );
       }
      if (mail ($email_destinatario, $email_assunto, nl2br($email_conteudo), $email_headers)){
       echo "E-Mail enviado com sucesso!";
       }
      else{
       echo "Falha no envio do E-Mail!"; }}
      ?>

       <form method="POST" action="conec()">
       <p>
       Nome:<br />
       <input type="text" size="30" name="nome">
       </p>  
       <p>
       E-mail:<br />
       <input type="text" size="30" name="email">
       </p>  
       <p>
       Telefone:<br />
       <input type="text" size="35" name="telefone">
       </p>  
       <p>
       Mensagem:<br />
       <input type="text" size="35" name="mensagem">
       </p>  
       <p>
                <input type="submit" name="BTEnvia" value="Enviar">
         <input type="reset" name="BTApaga" value="Apagar">
              </p>
      </form>
      </body>
      </html>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.