| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
amatilla Cdt


Registrado: 03 Abr 2003Mensajes: 15
|
Publicado: Jue 03 Abr, 2003 6:19 pm Asunto: Creaer un e-mail |
|
|
En primer luigar me presento porque soy nuevo en el foro.
Ahí va la duda: Necesito crear un mensaje de correo electrónico que además del destinatario, el asunto y el cuerpo del mensaje incluya una fichero adjunto.
El objeto que viene con Builder 5 (TNMSMTP) no soy capaz de comprederlo ya que no soy capaz de identificar las propiedades Host y UserID, y por lo tanto al hacer Connect() me da error porque no valida.
El otro método que conozco con ShellExecute(GetDesktopWindow(), NULL, "mailto: ...", NULL, NULL, 0) no me admite la inclusión de un fichero añadido.
Además, ¿Dónde crearía el mensaje? ¿Lo deja en la bandeja de salida o lo envía directamente? Me gustaría que quedara en la bandeja de salida. |
|
| Volver arriba |
|
 |
Lucy Ens

Registrado: 06 Nov 2002Mensajes: 28
|
Publicado: Vie 04 Abr, 2003 5:56 pm Asunto: Re: Creaer un e-mail |
|
|
Hola amatilla !!!!
Tengo una aplicacion en la que envio correo, con un archivo adjunto usando el TNMSMTP, y lo hago mediante un boton de la siguiente manera:
| Código: | void __fastcall TForm1::BEnviarClick(TObject *Sender)
{
// este es el codigopara enviar el archivo adjunto
//Edit7->Text=La direccion del destinatario
// enviar es el nombre del componente TNMSMTP
enviar->Host="prodigy.net.mx";
enviar->Connect();
enviar->PostMessage->FromAddress="compacif@prodigy.net.mx" ;
enviar->PostMessage->ToAddress->Add(Edit7->Text);
enviar->PostMessage->Subject="Aqui va el ASunto" ;
enviar->PostMessage->Body->Clear();//Limpiamos el cuerpo del mensaje
enviar->PostMessage->Body->AddStrings(Memo1->Lines);// este es el mensaje del correo, que es lo que el usuario escribe en un Memo
enviar->PostMessage->Attachments->Add("C:\\carpeta\\archivo.xls");//ell archivo adjunto
enviar->SendMail();
Application->MessageBox("El mensaje ha sido enviado con Éxito","AVISO",MB_ICONINFORMATION);
} |
ademas de eso escribo esto en los eventos del TNMSMTP
| Código: | void __fastcall TfPresupuesto::enviarAttachmentNotFound(
AnsiString Filename)
{
ShowMessage("El archivo adjunto no se encontro");
}
//---------------------------------------------------------------------------
void __fastcall TfPresupuesto::enviarFailure(TObject *Sender)
{
enviar->Disconnect();
ShowMessage("El correo se pudo enviar, intente de nuevo.\n Verifique que los datos estén correctos");
}
//---------------------------------------------------------------------------
void __fastcall TfPresupuesto::enviarRecipientNotFound(
AnsiString Recipient)
{
ShowMessage("La dirección del destinatario no se encontro");
}
//---------------------------------------------------------------------------
void __fastcall TfPresupuesto::enviarSuccess(TObject *Sender)
{
enviar->Disconnect();
ShowMessage("El correo ha sido enviado con Éxito");
}
//--------------------------------------------------------------------------- |
Espero que te sirva
Suerte!!!  |
|
| Volver arriba |
|
 |
sfjido Invitado
|
Publicado: Dom 06 Abr, 2003 11:49 pm Asunto: |
|
|
| Lucy ademas podrias añadir un try catch para saber cuando hay problemas y no se pudo enviar, es muy recomendable. |
|
| Volver arriba |
|
 |
Lucy Ens

Registrado: 06 Nov 2002Mensajes: 28
|
Publicado: Lun 07 Abr, 2003 5:04 pm Asunto: |
|
|
Hola sfjido!!!
Gracias por la recomendación la tomaré en cuenta
Lucy |
|
| Volver arriba |
|
 |
goyoko Invitado
|
Publicado: Lun 07 Abr, 2003 7:03 pm Asunto: por la pregunta de NMSTMP |
|
|
Holas.. quería saber si para ocupar ese componente es necesario tener un servidor de correo..? si es así cual es bueno
Gracias. |
|
| Volver arriba |
|
 |
amatilla Cdt


Registrado: 03 Abr 2003Mensajes: 15
|
Publicado: Mar 08 Abr, 2003 7:56 am Asunto: Crear un email |
|
|
Gracias por la respuesta. Me surgen ahora dos dudas:
1ª. ¿Se puede crear el correo de forma que quede en la bandeja de salida sin enviarlo directamente? Puede ser que el usuario no tenga conexión permanente a Internet y no lo pueda enviar según se genera.
2ª. Supongo que la línea Host="prodigy.net.mx" hace referencia al servidor SMTP. ¿Cómo busco en el registro de Windows el nombre de este servidor? Estoy haciendo un programa que se distribuirá a personas que no son expertos en informática, y menos en internet. Supongo que es la rama HKEY_CURREN_USER\Software\Microsoft\Internet Account Manager, pero no sé como llegar hasta ella con un TRegistry.
Gracias y perdonad las molestias. |
|
| Volver arriba |
|
 |
|