Ir para conteúdo
Entre para seguir isso  
Gilberto.favato

PHP - Sendmail

Recommended Posts

Olá, sou novo no PHP e estou me deparando com o seguinte problema.

Minha aplicação estava em uma maquina com Windows10 e funcionava perfeitamente, inclusive com acesso externo através de endereço DDNS.

Mas tive que trocar de equipamento e passei toda minha aplicação para outra máquina com Windows 8.1.

Instalei o wampserver na porta 8080 com apache 2.4.9, Mysql 5.6.17 e PHP 5.5.12.

Praticamente todas as funções da aplicação funcionam exceto o envio de email.

Quando tento enviar email recebo o seguinte erro:

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\wamp\www\Email-teste\email_enviar.php on line 25 Call Stack

Para enviar email utilizo a biblioteca Sendmail e uso email do GMAIL.

No meu PHP.INI tenho as seguintes linhas [Mail function]:

SMTP=smtp.gmail.com

smtp_port = 25

sendmail_from = meuemail@gmail.com

sendmail_path = "D:\wamp\sendmail\sendmail.exe -t -i"

mail.add_x_header = On

O arquivo SENDMAIL.INI tem as seguintes linhas [sendmail]:

smtp_server=smtp.gmail.com

smtp_port=465

smtp_ssl=auto

defalut_domain=localhost

auth_username=meu_email@gmail.com

auth_password=minha senha

force_sender=meu_email@gmail.com

hostname=localhost

Fui nas propriedades do arquivo Sendmail.exe e alterei para Modo compatibilidade para Windows XP (SP3).

Já tentei quase de tudo. Pesquisei em inúmeros foruns e sites, alterei a porta de 465 para 587 entre outras coisas, mas não sei mais o que fazer.

Será que o arquivo sendmail.exe está mesmo sendo executado/chamado???

Por favor, preciso de ajuda.

Muito obrigado.

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
Entre para seguir isso  

  • Conteúdo Similar

    • Por Rodrigo Vieira E da Silva
      Boa tarde Comunidade, tudo bem?
       
      Estou fazendo um envio de e-mail utilizando a classe PHPMailer mas o email está chegando em branco o que pode estar acontecendo você podem me ajudar?
      Veja o código.
       
      <?php ini_set('display_startup_errors',1); ini_set('display_errors',1); error_reporting(E_ALL); // Adiciona o arquivo class.phpmailer.php - você deve especificar corretamente o caminho da pasta. require_once("PHPMailer-master/PHPMailerAutoload.php"); // Aqui inicia a classe PHPMailer if(isset($_FILES['arquivo'])){ $errors= array(); $file_name = $_FILES['arquivo']['name']; $file_size = $_FILES['arquivo']['size']; $file_tmp = $_FILES['arquivo']['tmp_name']; $file_type = $_FILES['arquivo']['type']; $file_ext=strtolower(end(explode('.',$_FILES['arquivo']['name']))); $expensions= array("jpeg","jpg","png","pdf"); if(in_array($file_ext,$expensions)=== false){ $errors[]="Essa estão não é permitido, as extensões permitidas são PDF, JPEG ou PNG file"; } if($file_size > 5097152) { $errors[]='O tamanho maximo para envio de arquivos é 5 MB'; } if(empty($errors)==true) { move_uploaded_file($file_tmp,"anexos/".$file_name); //The folder where you would like your file to be saved echo "Success"; }else{ print_r($errors); } } $mail = new PHPMailer(); // DADOS DE AUTENTICAÇÃO - Você deve alterar conforme o seu domínio da sua hospedagem! $mail->IsSMTP(); // Define que a mensagem será SMTP $mail->Host = "smtp.dominio.com.br"; // Seu endereço de host SMTP(seu domínio) $mail->SMTPAuth = true; // Define que será utilizada a autenticação - Mantenha o valor "true" $mail->Port = 587; // Porta de comunicação SMTP - Na maioria das vezes se usa a porta"587", mas confirme com sua hospedagem a porta correta. $mail->SMTPSecure = false; // Define se é utilizado SSL/TLS - Mantenha o valor "false" $mail->SMTPAutoTLS = false; // Define se, por padrão, será utilizado TLS - Mantenha o valor "false" $mail->Username = 'contato@dominio.com.br'; // Conta de email existente e ativa em seu domínio $mail->Password = 'password'; // Senha da sua conta de email que você fez dentro da sua hospedagem // DADOS DO REMETENTE $mail->Sender = "contato@dominio.com.br"; // Conta de email existente e ativa em seu domínio $mail->From = "contato@dominio.com.br"; // repita o mesmo e-mail $mail->FromName = "Nome do Site"; // Nome do site // DADOS DO DESTINATÁRIO $mail->AddAddress('contato@dominio.com.br', 'Contato Nome do site'); // Aqui é o email que você quer que receba as mensagens do formulário //$mail->AddAddress('recebe2@dominio.com.br'); // Define qual conta de email receberá a mensagem //$mail->AddCC('copia@dominio.net'); // Define qual conta de email receberá uma cópia //$mail->AddBCC('copiaoculta@dominio.info'); // Define qual conta de email receberá uma cópia oculta // Definição de HTML/codificação $mail->IsHTML(true); // Define que o e-mail será enviado como HTML $mail->CharSet = 'utf-8'; // Charset da mensagem $mail->AddAttachment($file_tmp,"anexos/".$file_name); // DEFINIÇÃO DA MENSAGEM $mail->Subject = "Formulário de Contato"; // Assunto da mensagem $mail->Body .= " Nome: ".$_POST['nome']."<br>"; // Texto da mensagem $mail->Body .= " Empresa: ".$_POST['empresa']."<br>"; // Texto da mensagem $mail->Body .= " E-mail: ".$_POST['email']."<br>"; // Texto da mensagem $mail->Body .= " Telefone: ".$_POST['telefone']."<br>"; // Texto da mensagem $mail->Body .= " Cidade: ".$_POST['cidade']."<br>"; // Texto da mensagem $mail->Body .= " Estado: ".$_POST['estado']."<br>"; // Texto da mensagem $mail->Body .= " Assunto: ".$_POST['assunto']."<br>"; // Texto da mensagem $mail->Body .= " Mensagem: ".nl2br($_POST['mensagem'])."<br>"; // Texto da mensagem $mail->Body .= " Para visualizar o arquivo ele está no seguinte link http://www.dominio.com.br/anexos/".$file_name.""; // ENVIO DO EMAIL $enviado = $mail->Send(); // Limpa os destinatários e os anexos $mail->ClearAllRecipients(); // Exibe uma mensagem de resultado do envio if ($enviado) { echo "<script>window.location='http://www.dominio.com.br';alert('$_POST[nome], sua mensagem foi enviada com sucesso! Estaremos retornando em breve');</script>"; } else { echo "Não foi possível enviar o e-mail."; echo "<b>Detalhes do erro:</b> " . $mail->ErrorInfo; } ?> Um abraço a todos.
    • Por william_developer
      Pessoal, tenho um código em PHP para envio de e-mail. Estou tentando enviar pelo LOCALHOST, contudo ele não dá erro nenhum, mas também não envia! já baixei o SENDMAIL e fiz todas aquelas configurações número da porta etc e tal. bom! O problema é que eu vou hospedar um site e vou usar a função SENDMAIL. Eu vou ter que enviar o programa SENDMAIL junto com o meu site para HOSPEDARIA ? e como seria o código HTML e o código PHP para realizar o envio pode ser só um INPUT só para eu aprender!
×

Informação importante

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