Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

daniel.thyrso

Autenticação de e-mail

Recommended Posts

iai pessoal,tentei enviar um e-mail usando o mail(), para isso usei o server smtp do yahoo, quando vou enviar o e-mail, ele dá pau e pede a autenticação.Existe alguma forma de eu fazer essa autenticação no php, ou sem chances?Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

pod cre..eu já tinha mudado o smtp, coloquei o do yahoo e tal....mas onde que eu boto o usuário e a senha no php.ini?? quero dizer, aonde fica a linha que deve ser mudada, ou melhor ainda: é possível fazer essa alteração (do usuário e da senha) através do ini_set()???valeuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, o código é esse, eu já mudei o servidor smtp no php.ini, botei o do yahoo, só pra testes. Tudo me diz que está indo tudo certo até o momento da autenticação porque eu recebo a mensagem "Erro 530, de autenticação etc.".

 

Concordo que devo definir o login e a senha do e-mail do usuário, no caso o meu próprio. Mas onde eu coloco essas informações? no header?????

 

ajudem! :wacko:

 

valeuuuu...

 

PHP

[*]

[*]//RECEBENDO OS PARÂMETROS DA PÁGINA ANTERIOR

[*]$org = $_REQUEST['org'];

[*]$autor = $_REQUEST['autor'];

[*]$data_inicio = $_REQUEST['data_inicio'];

[*]$data_fim = $_REQUEST['data_fim'];

[*]$more = $_REQUEST['more'];

[*]$contato = $_REQUEST ['contato'];

[*]

[*] //DESTINATÁRIO

[*] $to = "daniel.thyrso@gmail.com";

[*]

[*]

[*] //ASSUNTO

[*] $subject = "Orçamento - $org";

[*]

[*] //DEFININDO A MENSAGEM

[*] $message = "

[*] <html>

[*] <head>

[*]  <title>Orçamento - $nome</title>

[*]  </head>

[*]  <body>

[*]  <p>Orçamento Enviado através do site</p>

[*]  <table>

[*]  <tr>

[*] <th>Empresa Solicitante</th><th>Data de inicio</th><th>Data de entrega</th><th>Autor da Solicitação</th>

[*]  </tr>

[*]  <tr>

[*] <td>$org</td><td>$data_inicio</td><td>$data_fim</td><td>$autor</td>

[*]  </tr>

[*]  <br>Detalhes: $more<br>

[*]  </table>

[*]  </body>

[*]  </html>

[*]  ";

[*]

[*] //ADICIONANDO O CABEÇALHO PARA ENVIAR EM HTML

[*] $headers = "MIME-Version: 1.0\r\n";

[*] $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

[*]

[*] //FUNÇÃO QUE ENVIA O E-MAIL

[*] mail($to, $subject, $message, $headers);

[*]}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Realmente você tem que achar onde configurar user e senha no mail. Dá uma olhada em www.php.net/mail que talvez lá eles te falem.

 

Mas faz o seguinte daniel: esquece esse negoço de yahoo e configura um mini server SMTP na sua máquina mesmo. Assim voce não precisa usar o do yahoo e pode configurar pra passar sem autenticação.

 

Eu utilizo o MercuryMail, é leve e simples. Voce encontra ele em sites de download como o gratis.com.br ou baixaki.

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está enviando da sua maquina local? 

pode ter problemas na porta 25

<{POST_SNAPBACK}>

Olá Orion. essa pergunta é pra mim? se for é só você mudar a porta em que o servidor smtp aguarda as conexoes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao... eu vasculhei a funçao mail() no php.net, no entanto lah eles nao mencioam nada sobre onde entraria a autentificaçao (no caso o login e a senha). Sim, reconheço que existe a opcao de fazer o server de e-mail aqui mesmo. Porem ainda estou pesquisando se no server que eu vou hospedar (jah foi definido pelo meu cliente), como eu vou fazer essa autentificacao...serah que o servidor de email dele nao requer autentificacao?? imagino que sim, porem como eu posso autentificar os meus e-mail atraves da funcao mail() ???? Se alguem puder me esclarecer um pouco sobre uso de email em php em geral eu agrdeço, pq ainda estou meio confuso nesse aspecto.Vou dar uma olhada no phpmailer....valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo:

 

PHP

[*]<?php

[*]require("class.phpmailer.php");

[*]$mail = new PHPMailer();

[*]$mail->IsSMTP()// telling the class to use SMTP

[*]$mail->Host = "smtp.email.com"// SMTP server

[*]$mail->From = "from@email.com";

[*]$mail->AddAddress("myfriend@site.com");

[*]

[*]$mail->Subject = "first mailing";

[*]$mail->Body = "hi ! \n\n this is First mailing I made myself with PHPMailer !";

[*]$mail->WordWrap = 50;

[*]

[*]if(!$mail->Send())

[*]{

[*]  echo "Message was not sent";

[*]  echo "Mailer Error: " . $mail->ErrorInfo;

[*]}

[*]else

[*]{

[*]  echo "Message has been sent";

[*]}

[*]?>

 

Nesse codigo por exemplo imagino que, caso eu use um servidor smtp que requer autenticaçao, teria de inclui uma linha parecida com essa:

$mail->Password = "senha";

$mail->Userid = "usuario";

 

seria algo assim que eu deveria fazer no meu codigo para autenticar???

Compartilhar este post


Link para o post
Compartilhar em outros sites
Cara. quem não tem cão, caça com gato. Já que não tá sendo possível com o Phpmailer nem com o Mail, tenta usando o SMTP do servidor do seu cliente que aí provavelmente não precisará fazer autenticação. Já que ele tem um servidor HTTP, provavelmente ele tem um SMTP também.

 

Se ainda assim não for possível e se o servidor for windows, utiliza o componente Cdonts (ou CDOSys - vai depender do tipo de windows do servidor) da mesma forma que agente utiliza em asp.

Os componentes Cdonts são tipo uma biblioteca onde uma de suas funções é enviar email, só que ele é o próprio servidor SMTP (acho).

 

Pra usar ele pelo PHP você vai ter que instanciar um objeto COM (http://br.php.net/com).

Acho que ficaria desse jeito: $variavel = new COM("Cdonts.NewMail")

 

Pra usar o Cdonts, tem uma porrada de tutorial aí na net. só que é tudo em ASP, mas os nomes dos métodos e rotinas nao muda nao. é só adaptar pro PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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