Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola galera joinha?
To usando a função mail() pra enviar emails ...
alguem conhece algum servidor SMTP gratis disponivel pra downloads?
Não consegiu baixar esse ...
mais ja baixei o Local SMTP Relay (Trial) e naum funfa pra enviar pra @hotmail.com ....
Alguem ae tem alguma ferramenta boa pra trabalhar com envio de email em ambiente windows ...
Assim, acho que para você criar um servidor de e-mail para utilização você pode ter vários problemas.
Hotmail é um porre, ele usa um negocio chamado SPF. Tipo, tu tem um dominio, ele ta cadastrado com um ip, o teu servidor de IP tem que ser o mesmo IP, ou range de IP.
Ehg mais ou menos isso, e o hotmail eh bem rigido com isso.
de uma lida em
www.antispam.br/admin/spf/
[]s
Hum ..
mah entao qual seria a solução? Teria alguma classe pra enviar email? Pode ser com autentificacao e tauz ...
So que meu ambiente é windows ....
Eu quando vou mandar e-mail, utilizo uma classe modificada por mim pra usar um smtp de algum servidor.
Segue código, espero ajudar
PHP
<?class Smtp{
//Creditos: Red neck adaptada por Micael Vianna ([http://aiatola.net](http://aiatola.net))
var $conn;
var $user;
var $pass;
var $html;
var $debug = false;
var $logado = false;
var $houveErro = false;
var $erro;
function Smtp($host,$porta){
$this->conn = [fsockopen](http://br.php.net/fsockopen)($host, $porta, $errno, $errstr, 30);
$this->Put("EHLO $host");
}
function Auth(){
$this->Put("AUTH LOGIN");
$this->Put([base64_encode](http://br.php.net/base64_encode)($this->user));
$this->Put([base64_encode](http://br.php.net/base64_encode)($this->pass));
}
function Send($toName, $to, $fromName, $from, $replyTo, $subject, $msg)
{
if([isset](http://br.php.net/isset)($this->conn))
{
// se nao estiver logado, loga
if (!$this->logado)
{
$this->Auth();
$this->logado = true;
}
$this->Put("MAIL FROM: <" . $from.">");
$this->Put("RCPT TO: <" . $to.">");
$this->Put("DATA");
$this->Put($this->toHeader($toName."<".$to.">", $fromName."<".$from.">", $fromName."<".$replyTo.">", $subject));
$this->Put("rn");
$this->Put($msg);
$this->Put(".");
if ($this->houveErro) return false;
else return true;
}
else
return false;
}
function Put($value)
{
// soh executa proxima linha se nao houver erro
if ($this->houveErro == false)
{
$dados = [fputs](http://br.php.net/fputs)($this->conn, $value . "rn");
$this->verificaRetorno([fgets](http://br.php.net/fgets)($this->conn));
return $dados;
}
}
function getRetorno($valor)
{
return $valor{0}.$valor{1}.$valor{2};
}
function toHeader($to, $from, $replyTo, $subject){
$header = "Message-Id: <". [date](http://br.php.net/date)('YmdHis').".". [md5](http://br.php.net/md5)([microtime](http://br.php.net/microtime)()).".". [strtoupper](http://br.php.net/strtoupper)($from) ."> rn";
$header .= "From: ". $from . " rn";
$header .= "To: ".$to." rn";
$header .= "Reply-To: ".$replyTo."rn";
$header .= "Subject: ".$subject." rn";
$header .= "Date: ". [date](http://br.php.net/date)('D, d M Y H:i:s O') ." rn";
$header .= "Content-Type: text/html; charset=iso-8859-1 rn";
$header .= "X-MSMail-Priority: High rn";
return $header;
}
function Close(){
$this->Put("QUIT");
return [fclose](http://br.php.net/fclose)($this->conn);
}
function getErro()
{
return $this->erro;
}
function verificaRetorno($msg)
{
$retorno = $this->getRetorno($msg);
if ($this->debug == true)
[echo](http://br.php.net/echo) $msg;
if ($retorno == "535")
{
$this->erro = 1;
$this->houveErro = true;
}
// destinatario rejeitado
if ($retorno == "450")
{
$this->erro = 2;
$this->houveErro = true;
}
// limit for processing requests from your host
if ($retorno == "451")
{
$this->erro = 3;
$this->houveErro = true;
}
// Service not available
if ($retorno == "421")
{ $this->erro = 4;
$this->houveErro = true;
}
// tem algum erro
if ([substr](http://br.php.net/substr)($retorno,0,1) == '4' || [substr](http://br.php.net/substr)($retorno,0,1) == '5')
{
$this->erro = 5;
$this->houveErro = true;
}
}
}
/*
EXEMPLO
$smtp = new Smtp("mail.dominio.com.br",25);
$smtp->debug = true;
$smtp->user = "login";
$smtp->pass = "senha";
if ($smtp->Send('DESTINATARIO','destinatario@dominio.com.br','REMETENTE','remetente@terra.com.br','replyto@dominio.com.br','ASSUNTO0',"TESTE"))
{ echo "ok"; }
else
{
echo "ERRO".$smtp->getErro();
}
$smtp->Close();
*/
?>
bah kra ..
tentei enviar email para usuarios da Hotmail.com e gmail.com, a sua funcção me retorna Ok (true), mais naum xega nda na caixa de mensagem do destinatario ....
>
**$smtp = new Smtp("smtp.gmail.com", 465);**
$smtp->debug = true;
$smtp->user = "login";
$smtp->pass = "senha";
if ($smtp->Send('DESTINATARIO','destinatario@dominio.com.br','REMETENTE','remetente@terra.com.br','replyto@dominio.com.br','ASSUNTO0',"TESTE"))
{ echo "ok"; }
else
{
echo "ERRO".$smtp->getErro();
}
$smtp->Close();Poutz ¬¬
Funciona com outros e-mails?
Aqui na empresa usamos smtp do Terra e do nosso domínio e chega normalmente. :|
Pode ser atraso tb, nao sei :\
Agora, baixei a classe PHPMailer, e me da o seguinte erro:
Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?)
Afinal, como q essa galera toda faz pra enviar email?????????
Lembrando: Plataforma Win + PHP5 -> Tentando enviar email para usuario da hotmail ....
Amigo,
Nunca usei o smtp do gmail, voce tem alguma conta em servidor tipo UOL, Terra?
Tenta enviar por um que conecte e envie com seu remetente sendo @provedordoSMTP
Já vi muitos terem problemas ao usar o SMTP do Gmail, por ele usar https.
uso do Yahoo sem problemas.
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Blzzz galera!!!
Valeuuuu pelas dicas aew pessoal, agora funfo... Win + PHPMailer + smtp da yahoo ...
Esse Gmail é embassado, ele usa esse TLS, que codifica a parada...
Eu to fazendo a minha própria classe, alguém sabe como que eu posso iniciar ele por socket?
Se eu dar um STARTTLS, depois de alguns instantes ele fecha a conexão...
Valew
Olha ai pessoal eu usei essa classe citada acima e deu este error...
250-mail.seduc.pa.gov.br
250-PIPELINING 250-SIZE 10240000
250-ETRN 250 8BITMIME
502 Error: command not implemented 502 Error: command not implemented
Aqui uso ubuntu 7.10 e o servirdo smtp da minha empresa que funciona normalmente.
Alguem pode ajuda?
Nunca configurei, mas dizem que bom é o http://www.qmail.org/