• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sota

php mailer

13 mensagens neste tópico

Boas pessoal tou a tentar enviar emails com a class php mailer atraves do smtp do msn ou do gmail só que qd usso a minha conta gmail diz "Os endereços de rementente a seguir falharam: sabot2005@gmail.com" qd utilizo msn diz "Erro de SMTP: Os endereços de destinatário a seguir falharam: manuel_gomes_@msn.com" deixo aqui o codigo caso estega a fazer alguma coisa mal

<?php 
// chamada da classe phpmailer
require_once('class.phpmailer.php');

// resgatando os dados passados pelo form
$nomeusuario = $_POST['nome'];
$emailusuario = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['msg'];


// faço a chamada da classe
$Email = new PHPMailer();
// na classe, há a opção de idioma, setei como br
$Email->SetLanguage("br");
// esta chamada diz que o envio será feito através da função mail do php. Você mudar para sendmail, qmail, etc 
// se quiser utilizar o programa de email do seu unix/linux para enviar o email
$Email->IsSMTP(); 
// ativa o envio de e-mails em HTML, se false, desativa.
$Email->IsHTML(true); 
// email do remetente da mensagem
$Email->From = $emailusuario;
// nome do remetente do email
$Email->FromName = $nomeusuario;
// Endereço de destino do emaail, ou seja, pra onde você quer que a mensagem do formulário vá?
$Email->AddAddress("manuel_gomes_@msn.com");
$Email-> SMTPAuth=true;
// informando no email, o assunto da mensagem
$Email->Subject = $assunto;
$Email->Host = "smtp.msn.com"; //seu servidor SMTP
$Email->Username = "manuel_gomes_@msn.com"; // usuário de SMTP
$Email->Password = "pass"; // senha de SMTP
// Define o texto da mensagem (aceita HTML)
$Email->Body .= "<B>E-mail enviado por usuário<BR></b>";
$Email->Body .= "Mensagem do usuário: $msg<BR><BR>";


//Feito o trecho principal acima, onde pegamos os dados, e formatamos o envio da mensagem, vamos concluir o script, fazendo o trecho que envia o e-mail propriamente dito. Mais simples, impossível:

// verifica se está tudo ok com oa parametros acima, se nao, avisa do erro. Se sim, envia.
if(!$Email->Send())
  {
echo "A mensagem não foi enviada. <p>";}
echo "Erro: " . $Email->ErrorInfo;

?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu achei o teu codigo um bocado confuso... Mas eu tb sou novo em php, por isso...

Eu para enviar mail uso esta função:

mail(to,subject,message,headers,parameters)

fica um exemplo:

<?php

$to = "alguem@xpto.com";

$subject = "mail de testel";

$message = "Olá isto é uma mensagem de e-mail simples";

$from = "eu@tudo_quanto.pod";

$headers = "From: $from";

mail($to,$subject,$message,$headers);

echo "Mail enviado";

?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu achei o teu codigo um bocado confuso... Mas eu tb sou novo em php, por isso...

Eu para enviar mail uso esta função:

mail(to,subject,message,headers,parameters)

fica um exemplo:

<?php

$to = "alguem@xpto.com";

$subject = "mail de testel";

$message = "Olá isto é uma mensagem de e-mail simples";

$from = "eu@tudo_quanto.pod";

$headers = "From: $from";

mail($to,$subject,$message,$headers);

echo "Mail enviado";

?>

Aquilo que ele quer fazer é um pouco diferente, ele está a usar uma Class para enviar um email. Com a função mail do PHP estás a usar os servers mail do teu servidor (se ele os tiver, se não pode utilizar o phpmail).

Não sei porquê Sota mas tenho uma ideia que os servidores smtp da hotmail/msn foram desligados à uns tempos... não tenho a certeza disso mas cheira-me :D

Tenta com um novo server de smtp, como o do Gmail que eu sei que funciona visto que já testei :)

P.S.: Usa <br /> em vez de <BR> :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

P.S.: Usa <br /> em vez de <BR> :D

Isso só é válido caso esteja a usar HTML > 4.01. Até lá, nenhuma tag se fecha com /> :D
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

P.S.: Usa <br /> em vez de <BR> :D

Isso só é válido caso esteja a usar HTML > 4.01. Até lá, nenhuma tag se fecha com /> :D

Claro, mas actualmente até é aconselhado que se use uma sintaxe recente...

Não vamos estar a aconselhar o que está desactualizado, era apenas uma sugestão para melhorar no futuro :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quickfire eu exprementei usar o smtp.gmail.com mas diz que houve um erro no endereço do remetente :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

testei o codigo mas da-me o seguinte erro Error: Language string failed to load: connect_host niguem sabe como resolver o que quer dizer ?

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

testei o codigo mas da-me o seguinte erro Error: Language string failed to load: connect_host niguem sabe como resolver o que quer dizer ?

obrigado

Ok então quando chegar a casa testo o code e já te dou feedback mais tarde :)

Até logo :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu achei o teu codigo um bocado confuso... Mas eu tb sou novo em php, por isso...

Eu para enviar mail uso esta função:

mail(to,subject,message,headers,parameters)

fica um exemplo:

<?php

$to = "alguem@xpto.com";

$subject = "mail de testel";

$message = "Olá isto é uma mensagem de e-mail simples";

$from = "eu@tudo_quanto.pod";

$headers = "From: $from";

mail($to,$subject,$message,$headers);

echo "Mail enviado";

?>

Utilizei este código, mas dá-me erro. Acho que é preciso mexer no php.ini para defenir o smtp..Alguem me diz como configurar a minha máquina para permitir enviar mails pelo meu pc pelo php, a funcionar com o Xampp...Agradecia resposta, pois dá-m o seguinte erro, apesar de já ter mexido no php.ini (não sei se foi é correctamente): Warning: mail() [function.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:\Programas\xampp\htdocs\projecto\enviar_mail_teste.php on line 10

ps: (ja fui perguntar ao google mas ele não me disse lá grd coisa) lol

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A mim também dá esse problema, espero que alguém consiga ajudar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não estou a ver esse ultimo script a funcionar, ounde está a autenticação, no ini? Duvido.

O melhor é tentar pegar no que o QuickFire disponibilizou.

Coloca ai o código que estás a executar. Mete os campos preenchidos no código para vermos o que está a ser invocado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o codigo que eu tinha executado era um simples mail($from, $subject, $mail); e deu o erro:

localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\Programas\xampp\htdocs\projecto\enviar_mail_teste.php on line 10

exepto a parte do ficheiro ( copy paste do sandro_g).

Configurar o php.ini....nmao posso porque nao tenho acesso a ele, eu sei qual é o endereco do smtp, como faço para conseguir enviar o mail?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora