Jump to content


Photo

Email Com 2 Servidores Diferentes


  • Faça o login para participar
6 replies to this topic

#1 _alucard

_alucard

    Turista

  • Usuários
  • 43 posts
  • Sexo:Não informado

Posted 17/10/2005, 16:31

Seguinte, tenho um script de envio de email para uma página de contato. Normalmente ele envia os emails corretamente, mas me deparei com um problema bastante incômodo.
Estou trabalhando para um cliente que possui dois servidores diferentes: um que hospeda as páginas e outro que recebe os emails.
Com o script de envio que eu tenho nenhum email chega em nenhuma caixa de entrada que esteja nesse servidor.
Eu tenho o endereço de IP, SMTP e o POP de ambos os servidores, mas não sei como adicionar essas informações no meu script.

Para quem quiser ver o script:
<?

//VERIFICA SE TEM ALGUM DADO NO ARRAY
if(sizeof($_POST)>0)
	{
	$recipient=$_POST['recipient'];
	if($recipient==''){$recipient='xxxx@xxxxx.xxx.xx';}

	$redirect=$_POST['redirect'];
	if($redirect==''){$redirect='xxxxxxx.xxx';}
	
	$assunto=$_POST['assunto'];
	if($assunto == ''){$assunto='Formulário';}
	
	$nome = $_POST['nome'];

	$empresa=$_POST['empresa'];

	$fone=$_POST['fone'];

	$celular=$_POST['celular'];

	$email=$_POST['email'];

	$mensagem=$_POST['mensagem'];

	$texto="
    \n Mensagem\n\n
 Nome:     $nome \n
 Empresa:  $empresa \n
 Fone:     $fone \n
 Celular:  $celular \n
 E-mail:   $email \n
 Mensagem: $mensagem \n\n
";

//Prepara o e-mail
	srand();
	$msgId = rand()  . '127.0.0.1.1';
	srand();
	$msgId = rand() . '.PHP@127.0.0.1';

	$headers = "From: $email \r\n";
	$headers .= "Return-path: <$email> \r\n";
	$headers .= "Message-ID: <$msgId> \r\n";
	$headers .= "User-Agent: PHP/4a \r\n";
	$headers .= "X-Mailer: PHP-MAIL/4a \r\n";
	
//exit($recipient.'<br>'.$assunto.'<br>'.$texto.'<br>'.$headers);

//echo("$recipient<br>$assunto<br>$texto<br>$headers");

	@mail($recipient,$assunto,$texto,$headers);

//REDIRECIONA PARA A PÁGINA DE RESULTADO
	header("Location:$redirect");

	}//FECHA IF (SIZEOF) 
?>


Agradeço qualquer ajuda.

Edição feita por: _alucard, 17/10/2005, 16:32.


#2 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 18/10/2005, 07:43

Veja:
http://www.php.net/m...ion.ini-set.php
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#3 douglas.ck

douglas.ck

    Ativo

  • Usuários
  • 390 posts
  • Sexo:Masculino

Posted 25/10/2005, 21:05

Olá!

Eu tambem tenho o mesmo problema.... olhei la o link que voce passou fly2k... só que não entendi nadinha...

É algum comando que deve ir na pagina para alterar a configuração do que é preciso para enviar o email???


Se puder mostrar como ficaria o esquema para funcionar corretamente, eu agradeço muito...

Valeu fly2k.

Abração.

Douglas

#4 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 26/10/2005, 08:32

Descrição
string ini_set ( string varname, string newvalue )


ou seja:

ini_set("SMTP","255.255.255.255");
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#5 _alucard

_alucard

    Turista

  • Usuários
  • 43 posts
  • Sexo:Não informado

Posted 26/10/2005, 13:24

O "newvalue" deve ser o IP ou o endereço smtp?
Tentei os dois, mas nenhum funcionou.
Mesmo assim, valeu pela ajuda.

Edição feita por: _alucard, 26/10/2005, 13:25.


#6 fly2k

fly2k

    Super Veterano

  • Usuários
  • 2262 posts
  • Sexo:Não informado

Posted 26/10/2005, 15:02

faz o seguinte, teste.

if (!ini_set("SMTP","smtp.dominio.com.br"))
echo "Não foi possível setar o SMTP.";
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.

#7 _alucard

_alucard

    Turista

  • Usuários
  • 43 posts
  • Sexo:Não informado

Posted 26/10/2005, 16:14

Na verdade, ele altera o SMTP.
Eu acredito que consegui descobrir qual é o problema, mas não sei como que eu posso resolvê-lo...
Ambos servidores são BSD. O servidor de envio é FreeBSD e o servidor de recebimento é OpenBSD.
Logo, a função ini_set se torna inútil, pois o php.ini busca pelo sendmail no caso de o servidor ser sistema Unix.
Tenho um mailwrapper no servidor que, provavelmente envia para localhost os emails. Não sei como alterar esse mailwrapper, pois deve ser binário pelo que acontece quando tento abri-lo com bloco de notas ou homesite.
A dúvida: existe algum meio de eu alterar o endereço do sendmail para um de outro servidor?
Por exemplo, a máquina que está ENVIANDO o email, ao invés de utilizar seu próprio sendmail para fazê-lo, utiliza o sendmail de OUTRA máquina...
Se não tiver como, eu realmente não sei o que fazer...




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq