InicioCiencia EducacionE-mail con Javascript, Lotus Notes y archivos adjuntos.

E-mail con Javascript, Lotus Notes y archivos adjuntos.

Ciencia Educacion7/22/2011
Hola amigos de Taringa.

Hace algunos meses tuve la necesidad de crear un script con Javascript que genere y envíe un correo electrónico a través de un cliente Lotus Notes con archivos adjuntos. Me costó mucho trabajo lograrlo, pero al fin lo conseguí; es por eso que se me ocurrió compartirlo con ustedes.

Espero que les sea de utilidad.

E-mail con Javascript, Lotus Notes y archivos adjuntos.

1 Crear el script en Javascript que recibe los datos para enviar el correo electrónico con archivos adjuntos.

function SendHTMLMail(mToMail, mCcpMail, mCcoMail, mSub, mMsg, pdfAttach) {
try {
Session = new ActiveXObject('Notes.NotesSession');
if(Session != null) {
UserName = Session.UserName;
Session.ConvertMIME = false;
MailDbName = UserName.substring(0, 1) + UserName.substring(UserName.indexOf(' ', 1) + 1, UserName.length) + '.nsf';
Maildb = Session.GetDatabase('', MailDbName);
if(Maildb.IsOpen != true) Maildb.OPENMAIL();
MailDoc = Maildb.CREATEDOCUMENT();
MailDoc.Form = 'Memo';
MailDoc.Subject = mSub;
MailDoc.sendto = mToMail;
if(mCcpMail != '') MailDoc.copyTo = mCcpMail;
if(mCcoMail != '') MailDoc.BlindCopyTo = mCcoMail;
Stream = Session.CreateStream();
Body = MailDoc.CreateMIMEEntity();

childHTML = Body.CreateChildEntity();
Stream.WriteText(mMsg);
childHTML.SetContentFromText(Stream, 'text/html; charset = ISO-8859-1', 1731);
Stream.Close();

Stream.Open(pdfAttach, 'binary');
childPDF = Body.CreateChildEntity();
header = childPDF.CreateHeader('Content-disposition');
header.SetHeaderVal('attachment; filename = "PDF.pdf"');
childPDF.SetContentFromBytes(Stream, 'application/octet-stream; name="PDF.pdf"', 1729);
Stream.Close();

Session.ConvertMIME = true;
MailDoc.SAVEMESSAGEONSEND = false;
MailDoc.Send(false);
MailDoc.Save(false, true);
}
}
catch(err) {
if(err == '[object Error]') alert('Error while sending mail, Please check Lotus Notes installed in your system');
else alert('Error while sending mail');
}
}


Nota: A modo de ejemplo estoy poniendo un archivo adjunto *.pdf, pero se puede hacer con cualquier tipo de archivo.
Nota2: Si alguien sabe como modifico el formato de mi código para que en el post salga legible se los agradezco, no pude formatearlo como si se tratara de un IDE.

2 Llamar el script para enviar correos electrónicos.

El script que acabamos de crear funciona en base a la siguiente sintaxis:

SendHTMLMail([to], , [blind_copy], , [hmtl_content], [attach_pdf])

to A quien se le envia el correo.
copy Quien recibe copia del correo.
blind_copy Quien recibe copia oculta del correo.
subject Asunto del correo.
html_content Contenido del correo (debe ser codigo html).
attach_pdf Archivo *.pdf adjunto.


3 Tips.

a) Es posible pasar el formato del correo electrónico a través de la construcción de un archivo; por ejemplo, que la aplicación principal construya el cuerpo del correo (código html en un archivo) y la aplicación/módulo que envia los correos obtenga el contenido de ese archivo y se lo pase a la función SendHTMLMail.

b) Es posible adjuntar tantos archivos como se requieran y de cualquier tipo (obviamente es necesario modificar el código que les muestro); adjunté un archivo *.pdf sólo como ejemplo.

c) En la web no hay mucha información de esto; así que consideren visitar los sitios que les pongo en fuentes de información.

4 Fuentes de información.

- http://www.codeproject.com/KB/scripting/MailFromJavaScript.aspx
- http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp


Mail

electronico
Datos archivados del Taringa! original
0puntos
0visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

C
Cris_Master🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.