Fórum WebTuga

Tecnologia => Programação => Topic started by: Kugas on March 10, 2009, 09:57:40 AM

Title: [PHP] Mail()
Post by: Kugas on March 10, 2009, 09:57:40 AM
BOAS ppl

É o seguinte a função mail() nao me envia para alguns dominios de mail 2 exemplos: sapo e/ou netcabo... mas envia para gmail e/ou hotmail... ainda nao experimentei com mais mas o da sapo e netcabo preocupa-me

a função mail() não era suposto ser um genérico?
Será alguma configuração que tenho de fazer no APACHE ou coisa parecida?

Nao sei onde está o prob... agradecia a ajuda mais uma vez.

Obrigado
CPTS
Title: [PHP] Mail()
Post by: trmanco on March 10, 2009, 07:01:34 PM
Cá para mim, o email que estás a usar para enviar esses emails devem estar na blacklist da sapo e da netcabo...
Title: [PHP] Mail()
Post by: Kugas on March 10, 2009, 07:21:44 PM
isso é possível? como posso resolver isso?

O endereço vai como noreply@domain.pt... acho isto muito estranho...

ajuda please

serei eternamente grato
Title: [PHP] Mail()
Post by: sp3c on March 10, 2009, 10:28:11 PM
se para o gmail e o hotmail funciona significa que não é um problemas de portas nem um problema de SMTP do Apache...

viste na caixa de spam?

pode estar bloqueado para impedir spam...
Title: [PHP] Mail()
Post by: Kugas on March 10, 2009, 10:31:35 PM
É que nem na caixa do spam está...
Title: [PHP] Mail()
Post by: Teotónio Ricardo on March 10, 2009, 10:32:09 PM
Outra coisa que pode estar a acontecer é o servidor não conseguir atingir o host server do sapo e da netcabo.
Title: [PHP] Mail()
Post by: Kugas on March 11, 2009, 10:46:01 AM
Então e como é que eu faço para atingir o host deles?

É alguma configuração especifica que tenho de fazer ao servidor...?
Title: [PHP] Mail()
Post by: ilovehentai on March 12, 2009, 09:41:36 PM
Muitas vezes o problema nem está nas configurações das portas, provavelmente tudo deverá estar ok se conseguiste enviar para o hotmail por exemplo. As vezes o problema está nos headers, senders ou também do SMTP em si, etc... o que te posso sugerir em vezes de usares directamente  a função mail() usares uma class bem mais composta como esta http://swiftmailer.org/ (//%5C%22http://swiftmailer.org/%5C%22) ou a class pear mail.
Title: [PHP] Mail()
Post by: Kugas on March 16, 2009, 09:30:43 AM
vamos la ver se consigo instalar isto... nunca instalei nada disto :s
Title: [PHP] Mail()
Post by: Kugas on March 16, 2009, 10:24:37 AM
da me este erro:

Parse error: parse error, unexpected T_CLASS in /home1/_sites/wwwxy/site/xxxxx/xxxxx/lib/classes/Swift.php on line 28

?
Title: [PHP] Mail()
Post by: ilovehentai on March 17, 2009, 08:21:58 AM
Qual é a tua versão do PHP?
Title: [PHP] Mail()
Post by: Kugas on March 17, 2009, 09:54:59 AM
PHP 4
Title: [PHP] Mail()
Post by: ilovehentai on March 17, 2009, 09:15:53 PM
QuoteSystem Requirements
The basic requirements to operate Swift Mailer are extremely minimal and easily achieved. Historically, Swift Mailer has supported both PHP 4 and PHP 5 by following a parallel development workflow. Now in it's fourth major version, and with PHP 4 support officially dropped by its makers at Zend, Swift Mailer operates on servers running PHP 5.2 or higher.

Esta class deve usar métodos e palavras reservadas como public, protected, __construct ou __desctruct, o requisito mínimo é o PHP 5.2

Encontrei esta class para PHP4 -> http://www.phpguru.org/static/mime.mail.html (//%5C%22http://www.phpguru.org/static/mime.mail.html%5C%22)
Pode ser que te ajude.
Title: [PHP] Mail()
Post by: Kugas on March 18, 2009, 09:25:52 AM
Estranho nao consigo fazer download do script... clico e fica tudo em branco e com o botao direito e guardar destino, o ficheiro vem em branco!

abraçu

EDIT: Epah esquece fui buscar o que tinha a extensão em phps... agora vou experimentar... logo digo alguma coisa
Title: [PHP] Mail()
Post by: Kugas on March 18, 2009, 10:07:21 AM
Da-me este erro:

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /home1/_sites/wwwxxxxxx/site/xyz/xxxx/includes/mimePart.php on line 121

?

na linha 121 tenho isto:

function Mail_mimePart ($bodyÃ, =Ã, '',Ã, $paramsÃ, =Ã, array())
abraçu
Title: [PHP] Mail()
Post by: Kugas on March 18, 2009, 12:20:09 PM
vou bombar aqui o meu código todo:


if($_POST['exportme'])
{
require_once(dirname(__FILE__) . '/includes/htmlMimeMail.php');

//change this to your email.
$id = $_GET['ide']?$_GET['ide'] : '';

# -=-=-=- MIME BOUNDARY
$mime_boundary = "---- EMPRESA ----".md5(time());
# -=-=-=- MAIL HEADERS
$to = $_POST['exportme'];
$subject = "EMPRESA  - ".$_GET['ide']."";
$headers = "From: Noreply \n";
$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "MIME-Version: 1.0\n";

$message = "--$mime_boundary\n";
$message .= "Content-Type: text/html; charset=iso-8859-1\n; format=flowed";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= "\n";
$message .= '';
$message .="\n".$causa.'
';
$message .= 'NOTA:';
  $message .= '
';
  $message .= 'some text here';
  $message .= '
';
  $message .= 'INFORMAÇÃÆ'O';
  $message .= '
';
   $message .= '

  ';
  some SQL here

$message .= '';
$message .= '';
$message .= '
Nome
'.$row2['nome'].' 
';

$message .= '
';
 $message .= 'INFORMAÇÃÆ'O 2';
 $message .= '
';
 
$message .= '  



  ';
  some SQL here

$message .= '';
$message .= ' ';
$message .= '';
$message .= '';
$message .= '
NomeMoradaTelefone
'.$row3['nome'].' '.$row3['morada'].''.$row3['tel'].'

 



 

 

 
 
 
 
 
';

Some SQL here with:

while($row=mysql_fetch_array($stmt))
{
 $message .= '';
 $message .= '';
 $message .= '';
 $message .= '';
 $message .= '';
 $message .= '';
}
$message .= '

'.$_POST['anexo'].'
ProdutoCód.Quant.DescontoData de RegistoData de Entrega
'.$row['nomeProduto'].''.$row['cod'].''.$row['qt'].''.$row['bonus'].'%';
 $message .= '
'.$row['datareg'].''.$row['dataentrega'].'
';
$message .= ' EMPRESA CRM©';
$message .= "\n";
$message .= "\n";
# -=-=-=- FINAL BOUNDARY
$message .= "--$mime_boundary--\n\n";
# -=-=-=- SEND MAIL
   //end of message

mail($to, $subject, $message, $headers);
#echo set_error_handler();
#echo error_reporting();
}
?>

Desculpem mas tive que ocultar certas cenas... :s
Title: [PHP] Mail()
Post by: Kugas on March 20, 2009, 09:25:06 AM
Como é que eu consigo ver o log dos mails???

O meu sistema é Debian.... com a Versão APACHE 1
Title: [PHP] Mail()
Post by: Kugas on April 22, 2009, 05:02:05 PM
Já resolvi o problema, fiz uma pesquisa mais intensiva e descobri que o return-path era o causador disto tudo... ou seja nao havendo nenhum return-path configurado ele atribui como anonymous@dominio.pt, no script do PHP mail() so tenho que fazer isto:


$headers = "return-path: noreply@dominio.pt\r\n";

espero ter ajudado alguem...

abraços e obrigado pela ajuda fornecida.