Enviar correo Outlook

Hay una red local de 40 computadores; un servidor con W2000 server y exchange server, los clientes tienen outlook; he consultado en internet pero no he encontrado un código de acuerdo a lo que se debe hacer.
Debo poder adjuntar archivos al mensaje, si el usuario lo desea debe enviar copias a otras personas, se debe poner remitente y destinatario.
Cuando se envía debo enviar los nombres de los archivos adjuntos a una tabla.
Agradezco la ayuda y sugerencias que me puedas brindar.
1

1 respuesta

Respuesta
1
Esto es lo pones en un archivo php.
Es decir, creas un archivo que se llame mailx.php
Y lo colocas en el mismo directorio que de donde vas a enviar, luego pones algo así dentro de otra página .php algo así:
Esto es lo pones en un archivo php.
Es decir, creas un archivo que se llame mailx.php
Y lo colocas en el mismo directorio que de donde vas a enviar, luego pones algo así
<¿
$msn="Mensaje de correo en texto plano o en html";
include_once("mailx.php");
mkn_html_mail("[email protected]","Tu sitio","el mail del destinatario","el nombre destinatario","Asunto",$msg,$msg,$AttmFiles);
?>
No entiendo nada, el "hosting" es el servidor 2000server y exchange server; ya esta configurado y todo; envía y recibe mensajes por outlook; pero aun no entiendo como hacer para tomar esa configuración y poder enviar mensaje con archivos adjuntos a outlook.
Saludos.
Me sale estos errores
Warning: Invalid argument supplied for foreach() in c:\appserv\www\cdi\mailx.php on line 43
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\appserv\www\cdi\mailx.php on line 63
¿Qué me falta?
No termino de entender la pregunta, por favor explicame un poquito mejor en caso de que no te haya entendido.
Mientras tanto te paso mi función, con la cual envío correos electrónicos y es completísima.
<? function mkn_html_mail($From,$FromName,$To,$ToName,$Subject,$Text,$Html,$AttmFiles){
$OB="----=_OuterBoundary_000";
$IB="----=_InnerBoundery_001";
$Html=$Html?$Html:preg_replace("/\n/","{br}",$Text)
or die("no se encontró texto o html.");
$Text=$Text?$Text:"para leer esto debe poder leer html";
$From or die("dirección del que envia no se encuentra");
$To or die("direccion destino no se encontró");
$headers ="MIME-Version: 1.0\r\n";
$headers.="From: ".$FromName." <".$From.">\n";
$headers.="To: ".$ToName." <".$To.">\n";
$headers.="Reply-To: ".$FromName." <".$From.">\n";
$headers.="X-Priority: 1\n";
$headers.="X-MSMail-Priority: High\n";
$headers.="X-Mailer: My PHP Mailer\n";
$headers.="Content-Type: multipart/mixed;\n\tboundary=\"".$OB."\"\n";
//
$Msg ="This is a multi-part message in MIME format.\n";
$Msg.="\n--".$OB."\n";
$Msg.="Content-Type: multipart/alternative;\n\tboundary=\"".$IB."\"\n\n";
//texto plano
$Msg.="\n--".$IB."\n";
$Msg.="Content-Type: text/plain;\n\tcharset=\"iso-8859-1\"\n";
$Msg.="Content-Transfer-Encoding: quoted-printable\n\n";
// texto plano
$Msg.=$Text."\n\n";
// HTML
$Msg.="\n--".$IB."\n";
$Msg.="Content-Type: text/html;\n\tcharset=\"iso-8859-1\"\n";
$Msg.="Content-Transfer-Encoding: base64\n\n";
// HTML
$Msg.=chunk_split(base64_encode($Html))."\n\n";
// HTML
$Msg.="\n--".$IB."--\n";
// Archivos
if($AttmFiles){
foreach($AttmFiles as $AttmFile){
$patharray = explode ("/", $AttmFile);
$FileName=$patharray[count($patharray)-1];
$Msg.= "\n--".$OB."\n";
$Msg.="Content-Type: application/octetstream;\n\tname=\"".$FileName."\"\n";
$Msg.="Content-Transfer-Encoding: base64\n";
$Msg.="Content-Disposition: attachment;\n\tfilename=\"".$FileName."\"\n\n";
//Archivo
$fd=fopen ($AttmFile, "r");
$FileContent=fread($fd,filesize($AttmFile));
fclose ($fd);
$FileContent=chunk_split(base64_encode($FileContent));
$Msg.=$FileContent;
$Msg.="\n\n";
}
}
//fin del mensaje
$Msg.="\n--".$OB."--\n";
$yy=mail($To,$Subject,$Msg,$headers);
return $yy;
}
?>
Espero haberte ayudado, no olvides cerrar y valorar esta respuesta.
Saludos.
Disculpa mi ignorancia apenas estoy aprendiendo php y html; copie el código y hice una forma; no se que estoy haciendo mal pero solo errores; ¿Hay alguna posibilidad de mirar todo las formas que se utilizan?
Perdona mi ignorancia en este tema.
Lo del foreach() es error tuyo, y lo otro es porque a menos que desees montar un servidor de correo en tu pc personal, debes probar el envío de mails "en" un hosting.
Es decir subes el archivo a tu hosting y lo pruebas.
Entonces debes configurar el php.ini que está en c:\windows\php.ini así como te describe el error de la linea 63.
Que foreach? en ningún momento te lo mencione, ese es tuyo; para incluir un archivo utilizas include("ruta+archivo");
El foreach espera un array, ¿Para que lo utilizas?
Ahahhhaha siiii, ahora si.
Mira el foreach espera un array de string entonces, sea el ejemplo:
$Archivos[0]="archivo.zip";
mkn_html_mail("yo","yo","[email protected]","[email protected]","Prueba","a ver","a ver 2",$Archivos);
Esto va a funcionar con paths relativos, http, y ftp, no sé si funcionaria con paths absolutos como con tu ejemplo.
--Cita--
Por ejemplo el $AttmFiles="c:\hoja.doc"
¿Esta bien?
--Fin cita--
No, sería así:
$AttmFiles[]="/misarchivos/hoja.doc";
Saludos y espero que te haya servido...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas