Jump to content
Fórum Script Brasil
  • 0

Email Com Php


Rui Tiago
 Share

Question

Viva,

Eu estou tentando enviar email com o php no linux mas parece que pelo menos com uma das minhas contas de email os caracteres com acentuação são substituidos por outros caracteres esquisitos.

Eu experimentei com 'charset: utf-8' nos headers mas funciona apenas para uma das minhas contas de email.

Desde já agradecido pela vossa ajuda.

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

O meu faço assim e da

$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));          
$anexo = base64_encode($anexo); 

fclose($fp);

$anexo = chunk_split($anexo); 


$boundary = "XYZ-" . date("dmYis") . "-ZYX"; 

    $mens = "--$boundary\n";
    $mens .= "Content-Transfer-Encoding: 8bits\n";
    $mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain
    $mens .= "$mensagem\n";
    $mens .= "--$boundary\n";
$mens .= "Content-Type: ".$arquivo["type"]."\n"; 
$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; 
$mens .= "Content-Transfer-Encoding: base64\n\n"; 
$mens .= "$anexo\n"; 
$mens .= "--$boundary--\r\n"; 

$headers  = "MIME-Version: 1.0\n"; 
$headers .= "From: \"$nome\" <$email_from>\r\n"; 
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; 
$headers .= "$boundary\n";

//envio o email com o anexo    
mail($email,$assunto,$mens,$headers); 

echo"Email enviado com Sucesso!"; 

}

//se não tiver anexo
else{

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: \"$nome\" <$email_from>\r\n";

//echo $email.'- mail<br>'.$assunto.'- assunto<br>'.$mensagem.'- mensagem<br>'.$headers.'- headers<br>';
//envia o email sem anexo
mail($email,$assunto,$mensagem, $headers);

echo"Email enviado com Sucesso!"; 

Link to comment
Share on other sites

  • 0

Aqui vai código para enviar mails

 

$subject = "titulo";
$message = "mensagem ãàá";

@ $fp = fopen("mails.txt",'r');
if(!$fp) {
  echo('<p>Ficheiro de mails vazio</p>');
  exit();
 }

while (!feof($fp)) {
  $email = fgets($fp,999);
  mail("$email","$subject","$message","From: [email protected]\r\nMIME-Version: 1.0\nContent-Type: text/html; charset=ISO-8859-1; Content-Transfer-Encoding: quoted-printable");
 }

fclose($fp);

Link to comment
Share on other sites

  • 0

Continua a não funcionar. Continua com caracteres esquisitos.

Experimentei com text/plain em vez de text/html e verifiquei que efectivamente usava caracetres especiais mas no entanto estava tudo trocado!

Tinha &Atilde;&sect; em vez de ç, &Atilde;&iexcl; em vez de á, etc

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...