Jefrey 0 Denunciar post Postado Setembro 17, 2010 Estou desenvolvendo um website que tem um formulário de contato. Porém, em hospedagem gratuita. Por enquanto, o formulário apenas salva a mensagem em uma outra página que só pode ser acessada com o login e a senha do moderador. Mas, com certeza, ficaria mais fácil se as mensagens fossem recebidas direto no e-mail. Sim, claro, "utilize o mail()", mas meu host é gratuito, e eu ouvi dizer que há como enviar o e-mail utilizando outro SMTP, desde que tenha cadastro nele. Para utilizar como exemplo, vamos dizer que o meu e-mail é exemplo@exemplo.com.br e minha senha é exemplo, o endereço do site do e-mail é www.exemplo.com.br e o SMTP é smtp.exemplo.com.br. Partindo desses dados, como eu faço para enviar o e-mail em nome desse endereço, sem que precise configurar o server? Compartilhar este post Link para o post Compartilhar em outros sites
Quelipe 15 Denunciar post Postado Setembro 17, 2010 Depois de pronto o script que envia o e-mail, hospede-o no servidor que funcione o SMTP, depois no action do seu form no seu servidor você passa o endereço do servidor de hospedagem do script. Ex: seu script: envia.php // nesse seu script você coloca um link para retornar para seu site novamente Ex: echo "<script>document.location='http://www.meusite.com.br/minhapagina_de_contato.php';</script>"; O mesmo script estará hospedado em http://www.outrosite.com.br/envia.php No seu form que está no seu servidor você faz assim: <form action="http://www.outrosite.com.br/envia.php".... É uma solução meio estranha, mas funciona. At+ Compartilhar este post Link para o post Compartilhar em outros sites
Larry 0 Denunciar post Postado Setembro 17, 2010 Opa Jefrey, Baixa o PHPMailer e usa o código abaixo: <?php require_once('../class.phpmailer.php'); // Colocar caminho certo! $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch $mail->IsSMTP(); // telling the class to use SMTP try { $mail->SetLanguage("br"); // Define o Idioma $mail->Host = "mail.exemplo.com.br"; // SMTP server $mail->SMTPAuth = true; // enable SMTP authentication $mail->Username = "exemplo@exemplo.com.br"; // SMTP account username $mail->Password = "suasenha"; // SMTP account password $mail->AddAddress("destino@exemplo.com.br",""); // Email e Nome do destinatário $mail->Subject = 'Assunto'; $mail->SetFrom('exemplo@exemplo.com.br', 'Nome do Remetente'); $mail->MsgHTML(file_get_contents('http-~~-//www.exemplo.com.br/exemplo.html')); //html que quer enviar $mail->Send(); echo "Mensagem enviada</p>\n"; } catch (phpmailerException $e) { echo $e->errorMessage(); //Pretty error messages } catch (Exception $e) { echo $e->getMessage(); //Boring error messages } ?> Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
Jefrey 0 Denunciar post Postado Setembro 19, 2010 Depois de pronto o script que envia o e-mail, hospede-o no servidor que funcione o SMTP, depois no action do seu form no seu servidor você passa o endereço do servidor de hospedagem do script. Ex: seu script: envia.php // nesse seu script você coloca um link para retornar para seu site novamente Ex: echo "<script>document.location='http://www.meusite.com.br/minhapagina_de_contato.php';</script>"; O mesmo script estará hospedado em http://www.outrosite.com.br/envia.php No seu form que está no seu servidor você faz assim: <form action="http://www.outrosite.com.br/envia.php".... É uma solução meio estranha, mas funciona. At+ Valeu aí, cara, mas meu problema é justamente com servidor que não aceita SMTP. Eu não possuo acesso a nenhum servidor pago, que possa aceitar SMTP. Então, não tive nem como testar, mas valeu mesmo assim. Opa Jefrey, Baixa o PHPMailer e usa o código abaixo: <?php require_once('../class.phpmailer.php'); // Colocar caminho certo! $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch $mail->IsSMTP(); // telling the class to use SMTP try { $mail->SetLanguage("br"); // Define o Idioma $mail->Host = "mail.exemplo.com.br"; // SMTP server $mail->SMTPAuth = true; // enable SMTP authentication $mail->Username = "exemplo@exemplo.com.br"; // SMTP account username $mail->Password = "suasenha"; // SMTP account password $mail->AddAddress("destino@exemplo.com.br",""); // Email e Nome do destinatário $mail->Subject = 'Assunto'; $mail->SetFrom('exemplo@exemplo.com.br', 'Nome do Remetente'); $mail->MsgHTML(file_get_contents('http-~~-//www.exemplo.com.br/exemplo.html')); //html que quer enviar $mail->Send(); echo "Mensagem enviada</p>\n"; } catch (phpmailerException $e) { echo $e->errorMessage(); //Pretty error messages } catch (Exception $e) { echo $e->getMessage(); //Boring error messages } ?> Abraço! Valeu aí, cara. Essa classe funfou mesmo. Até então, nunca tinha ouvido falar dela.Resolveu meu problema, mas estão me falando que é errado usar SMTP de outro servidor, e que se descobrirem o que eu estou fazendo, vão bloquear minha conta. Isso é verdade? Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Tavares 167 Denunciar post Postado Setembro 19, 2010 Depende de QUEM te falou isso. É possível que existam regras na política anti-spam da empresa que você está contratando que não permita este processo, porém se isso realmente fosse verdade e essa empresa fosse de qualidade, eles teriam bloqueado isso através de regras internas do servidor, ou até mesmo firewall. Se você não está fazendo nada antiético ou ilegal, você não encontrará problemas. Para ter certeza disso, basta entrar em contato com o suporte da empresa. ;) Até mais. Compartilhar este post Link para o post Compartilhar em outros sites
Jefrey 0 Denunciar post Postado Dezembro 1, 2010 Ok, beleza. Valeu a todos. Resolvido! Compartilhar este post Link para o post Compartilhar em outros sites