• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Hipnoted

Função Mail: retira os links completos?

11 mensagens neste tópico

Boas,

Tenho-me deparado com uma situação um pouco estranha nos scripts de PHP que tenho feito ultimamente. vamos imaginar um script que envie por email uma newsletter, que contém uma imagem alojada no próprio servidor. Quando insiro a localização da imagem coloco o link completo (ex: http://www.site.com/pasta/imagem.jpg), mas quando é enviada para o mail e verifico o código fonte o endereço do link aparece sem o link completo (ex: imagem.jpg apenas!). isto faz com que as imagens não sejam mostradas claro...

A minha pergunta é, isto é normal? Alguma forma de contornar, ou se possível com alguma definição resolver esta situação?

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estranho... Tens a certeza que não estás a usar nenhuma função como a basename()?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Certeza absoluta, fiz um print dos dados antes e depois de enviar o email para o confirmar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só vendo o código desde o envio pelo user até ao envio do email...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já tentas-te enviar para outro servidor de e-mail?

por exemplo na empresa onde trabalho barrei todos os links no html dos emails (só para acabar com as mensagens correntes e outras coisas que tais) pode ser algum filtro de spam

caso não seja alguma coisa esta mal antes do envio, se mesmo assim não conseguires a class phpmailer funciona sempre

Fica bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Certeza absoluta, fiz um print dos dados antes e depois de enviar o email para o confirmar.

Fizes-te print de tudo o que vai para o mail()?

Isto é no minimo estranho...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deve estar a referir-se ao código html gerado antes do envio.

Certo Hipnoted?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, realmente o problema não vem da função mail mas sim quando obtenho o que está numa text area. Peço desculpa mas estava mesmo convencido que o problema vinha daí, só após alguns testes é que verifiquei que não era a função Mail.

EDIT:

O código que tenho é o seguinte:

$var = $_POST['elm1'];

$nl = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/plain; charset=utf-8\" /><title>Newsletter</title></head><body>";

$nl .= $var;
$nl .= "</body></html> \r\n";

$headers = "From: Newsletter xxx <newsletter@xxx.com> \r\n";
$headers .= "MIME-Version: 1.0 \n";
$headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n";

$sql = "SELECT DISTINCT (user_email) FROM wp_users ;";

$result = mysql_query($sql);

while($row = mysql_fetch_array($result)){

mail($row['user_email'], "Newsletter xxx", $nl, $headers);

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não será algum JS que te faça isso aos links?

Estou a usar o tinymce, será disso? Vou investigar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

se estas a usar o tinymce é de certeza.

tens uma opção que se declara "relative_urls" deves por o su valor a false, caso contrário vai cortar os links todos

fica bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora