Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/06/2006, 08:08
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No sé nada de ASP .. pero veo que habla de cierta codificación HTTP para componer el e-mail (que generas en HTML).

En ese caso .. usemos google a ver que dice (unos segundos despues ....):

De la documentación oficial de PHP sobre mail() .. en los comentarios de los usuarios aparece esto:


Cita:
f dot touchard at laposte dot net
31-Jan-2003 05:46
***Encoding plain text as quoted-printable in MIME email***

If you don't want to install IMAP and use imap_8bit() to encode plain text or html message as quoted-printable
(friendly french special characters encoding in MIME email, try this function.
I haven't fully tested it ( like with microtime with long mails). I send html message as 7-bit, so I didn't try yet with html.
If you have good html practise, you don't really need to encode html as quote-printable as it only uses 7-bit chars.
F.Touchard
Código PHP:
function qp_encoding($Message) {
   
   
/* Build (most polpular) Extended ASCII Char/Hex MAP (characters >127 & <255) */
   
for ($i=0$i<127$i++) {
       
$CharList[$i] = "/".chr($i+128)."/";
       
$HexList[$i] = "=".strtoupper(bin2hex(chr($i+128)));
   }

   
/* Encode equal sign & 8-bit characters as equal signs followed by their hexadecimal values */
   
$Message str_replace("=""=3D"$Message);
   
$Message preg_replace($CharList$HexList$Message);

   
/* Lines longer than 76 characters (size limit for quoted-printable Content-Transfer-Encoding)
       will be cut after character 75 and an equals sign is appended to these lines. */ 
   
$MessageLines split("\n"$Message);
   
$Message_qp "";
   while(list(, 
$Line) = each($MessageLines)) {
       if (
strlen($Line) > 75) {
           
$Pointer 0;        
           while (
$Pointer <= strlen($Line)) {
               
$Offset 0;
               if (
preg_match("/^=(3D|([8-9A-F]{1}[0-9A-F]{1}))$/"substr($Line, ($Pointer+73), 3))) $Offset=-2;
               if (
preg_match("/^=(3D|([8-9A-F]{1}[0-9A-F]{1}))$/"substr($Line, ($Pointer+74), 3))) $Offset=-1;
               
$Message_qp.= substr($Line$Pointer, (75+$Offset))."=\n";
               if ((
strlen($Line) - ($Pointer+75)) <= 75) {                
                   
$Message_qp.= substr($Line, ($Pointer+75+$Offset))."\n";
                   break 
1;
               }
               
$Pointer+= 75+$Offset;
           }
       } else {
           
$Message_qp.= $Line."\n";
       }
   }        
   return 
$Message_qp;

Espero que te sirva ... Como veras .. si dispones de la extensión IMAP .. puedes usar la función que dejé marcada .. Si no tienes esa función o no quieres depender de que donde ejecutes tu aplicación tengas que tener instalado el soporte IMAP .. usa la función propuesta que "dice" funcionar bien ...

Ya nos contaras que tal te fué.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.