Pesquisar na Comunidade
Mostrando resultados para as tags ''smtp''.
Encontrado 3 registros
-
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.
-
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
-
SEndGrid envia e-mail para GMail mas para outros provedores não
biakelly postou um tópico no fórum PHP
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"; } }