Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Creaer un e-mail

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Creaer un e-mail Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Re: Creaer un e-mail Responder citando

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!!! Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Lucy ademas podrias añadir un try catch para saber cuando hay problemas y no se pudo enviar, es muy recomendable.
Volver arriba
Mensaje    Asunto: Responder citando

Hola sfjido!!!

Gracias por la recomendación la tomaré en cuenta Smile

Lucy
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: por la pregunta de NMSTMP Responder citando

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
Mensaje    Asunto: Crear un email Responder citando

Gracias por la respuesta. Me surgen ahora dos dudas: Embarassed

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
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.