Ir para conteúdo

POWERED BY:

Arquivado

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

henry franklin

[Resolvido] sender email

Recommended Posts

olá galera!

 

seguinte:

 

estou enviando email pelo PHP ("mail();") e ele chega no destinatário assim: (mascarei os nomes)

 

De: meusite@master123.server.com.br em nome de (email@meusite.com.br)

 

no "código fonte da mensagem" está:

Sender: <meusite@master123.server.com.br>

 

mesmo inserindo "Sender" no cabeçalho da mensagem ele substitui pelo sender ai de cima.

há algo q posso fazer ou tenho q falar com o suporte do meu servidor?

 

PS: os programas de email (horde,...) enviam "certinho".

 

há solução para mim??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com esses:

 

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Remetente <emaildo@remetente.com>' . "\r\n";
$headers .= 'To: Destinatario <emaildo@destinatario.com>' . "\r\n";

Compartilhar este post


Link para o post
Compartilhar em outros sites

depende do programa de envio de emails do seu server.

 

por segurança defina todos os atributos possíveis

 

FROM

Return-Path

Reply-To

 

aconselho também adicionar, no php, uma configuração em tempo de execução.

antes de executar mail(), defina "sendmail_from"

 

exemplo:

 

ini_set( 'sendmail_from', 'aqui@o.email.de.quem.envia');

 

caso nenhuma das opçõse funcione, certifique-se mais uma vez de que os códigos que está escrevendo sejam consistentes.

se estiver certo de que não há falhas, consulte o administrador do seu host sobre o assunto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

infelizmente "ini_set()" nao resolveu

 

segue abaixo o código.

ele vai bonitinho para a caixa de entrada (pelo menos do 'hotmail'), mas...

function mandaEmail($contents){
global $sconfigs;

	$headers .= "MIME-Version: 1.0\n";
	$headers .= "Content-Type: multipart/alternative; charset=ISO-8859-1;\n";
	$headers .= "Content-Transfer-Encoding: 7bit\n";
	$headers .= "User-Agent: Internet Messaging Program (IMP)\n";
	$headers .= "Importance: Normal\n";
	$headers .= "X-Priority: * Normal\n";
	$headers .= "X-Mailer: PHP Mailer\n";
	$headers .= "To: ".$contents['to']."\n";
	$headers .= "For: ".$contents['to']."\n";
	$headers .= "From: ".$sconfigs['emailprincipalmask']."\n";
	$headers .= "Return-Path: ".$sconfigs['emailprincipal']."\n";
	$headers .= "Envelope-from: ".$sconfigs['emailprincipal']."\n";
	$headers .= "Reply-To: ".$sconfigs['emailprincipal']."\n";
	if($contents['cco']){$headers .= "Bcc: ".$contents['cco']."\n";}
	
	ini_set( 'sendmail_from', $sconfigs['emailprincipal']);
	if(mail($contents['to'], $contents['titulo'], $contents['mensagem'], $headers)){
		return(true);
	} else {
		return(false);
	}
	
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema parece estar em

 

global $sconfigs;

 

coloca echo $sconfigs['emailprincial']; dentro da funcao para ver o que imprime, se nao imprimir nada ou o email que esta aparecendo nas mensagens esta ai o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

certifique-se de quie o tipo de encoding da variavel provinda do banco de dados é compatível com o tipo de content definido, no seu caso o latin-iso

 

instale também algum outro cliente de email nesse pc que está com problema ao exibir o titulo pelo outlook

 

veja se ocorre o mesmo problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, desculpe a demora na resposta.

 

Rafael,

$sconfigs está sendo acessada corretamente. (bom seria q fosse este o problema)

 

Hinom,

não tem banco de dados envolvido em enviar o email.

não uso nenhum programa para receber as mensagens.

 

parece q meu servidor muda sozinho os campos "Sender" e "Return-Path", ai eh dificil!

o hotmail reconhece ele bonitinho com uma mensagem útil (não "Span").

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui!

 

inseri no "php.ini" (na pasta Public_html de meu servidor) as linhas de comando:

sendmail_path = "/usr/sbin/sendmail -t -i -F meusite@meusite.com"

 

funcinou q eh uma beleza!!

 

alguem conhecia isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom que resolveu.

 

isso que você fez é específico do servidor, nao quer dizer que funcionará para todos

 

o correto seria o administrador do seu host explicar sobre esses parâmetros.

 

aliás, como você descobriu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom hinom,

Partindo do princípio que se insere informação do sendmail, inclusive o "sender" padrão, pesquisei como alterá-lo.

Descobri estas instruções no proprio site do PHP. Um dos comentários dizia isso(até um pouco mais invasiva).

Nada mais é que uma instrução completa do sendmail como caminho, os campos que serão afetados (from/return-path/...), e o "usuário padrão"(sender).

 

Meu servidor aceita algumas alterações feitas dessa forma, inserindo um "php.ini" na raiz do site.

No cabeçalho ainda chega o nome do servidor e tal, porém visualmente tem o email com o nome do site aparecendo como remetente.

Realmente, nem todos deixam, mas sempre há alguma solução. Mesmo conversando com o pessoal do suporte.

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.