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 

Reenvío del correo a varios destinatarios.

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Reenvío del correo a varios destinatarios. Responder citando

Hola, hace poco utilicé este código que rueda por el foro, pero necesito
que me envíe correo a varios destinatarios. No encuentro nada por ningún sitio. ¿Sabe alguien cómo se haría? Gracias.


TMapiMessage MapiMessage;
TMapiRecipDesc MapiRecipDesc;
TMapiFileDesc MapiFileDesc;
Cardinal MError;

ZeroMemory(&MapiRecipDesc, sizeof(MapiRecipDesc));
MapiRecipDesc.ulRecipClass = MAPI_TO;

// char Name[20];
//strcpy(Name,ConfigMails->EditMailAddress->Text.c_str());


char Destiny[30];
strcpy(Destiny,ConfigMails->EditDestinyAddress->Text.c_str());


//MapiRecipDesc.lpszName = Name;
MapiRecipDesc.lpszAddress = Destiny;

// ZeroMemory(&MapiFileDesc, sizeof(MapiFileDesc));
//MapiFileDesc.lpszPathName = "c:\\program files\\Prova\\testmail.txt";

ZeroMemory(&MapiMessage, sizeof(MapiMessage));
MapiMessage.lpszSubject = "Test message from ....";
//MapiMessage.lpszNoteText = TextoMensaje->Lines->Text.c_str();
MapiMessage.nRecipCount = 1;
MapiMessage.lpRecips = &MapiRecipDesc;
// MapiMessage.nFileCount = 1;
// MapiMessage.lpFiles = &MapiFileDesc;

MError = MapiSendMail(0, reinterpret_cast<unsigned>(Application->Handle),
MapiMessage, MAPI_NEW_SESSION, 0);

if (MError)
ShowMessage("Error: Unable to send the message");
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Código:
    TMapiRecipDesc MapiRecipDesc[2] = {0};
    MapiRecipDesc[0].ulRecipClass = MAPI_TO;
    MapiRecipDesc[0].lpszAddress = "primer@destinatario.es";
    MapiRecipDesc[1].ulRecipClass = MAPI_TO;
    MapiRecipDesc[1].lpszAddress = "segundo@destinatario.es";

    TMapiMessage MapiMessage = {0};
    MapiMessage.lpszSubject = "Asunto de prueba";
    MapiMessage.lpszNoteText = "Texto de prueba";
    MapiMessage.nRecipCount = 2;
    MapiMessage.lpRecips = MapiRecipDesc;

    Cardinal MError = MapiSendMail(0,
        reinterpret_cast<unsigned>(Application->Handle),
        MapiMessage, MAPI_NEW_SESSION, 0);

    if (MError)
        ShowMessage("Error: Unable to send the message");
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Pues no consigo que me funcione, sigue enviándome sólo 1 correo.


TMapiRecipDesc MapiRecipDesc[2]={0};
Cardinal MError;


ZeroMemory(&MapiRecipDesc, sizeof(MapiRecipDesc));
MapiRecipDesc[0].ulRecipClass = MAPI_TO;
MapiRecipDesc[0].lpszAddress = "destino1@destino1.es";
MapiRecipDesc[1].ulRecipClass = MAPI_TO;
MapiRecipDesc[1].lpszAddress = "destino2@destino2.es";

TMapiMessage MapiMessage={0};
ZeroMemory(&MapiMessage, sizeof(MapiMessage));
MapiMessage.lpszSubject = "Test message from ....";
MapiMessage.nRecipCount = 2;
MapiMessage.lpRecips = MapiRecipDesc;

MError = MapiSendMail(0, reinterpret_cast<unsigned> (Application->Handle),
MapiMessage, MAPI_NEW_SESSION, 0);

if (MError)
ShowMessage("Error: Unable to send the message");
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

rauls66 escribió:
Pues no consigo que me funcione, sigue enviándome sólo 1 correo

Estas seguro que en el apartado de destinatarios solo te aparece una de las direcciones ? Ya que a mi me aparecen correctamente los dos destinatarios.

Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Ok, el problema era que para hacer las pruebas me enviaba el correo a la misma dirección de Gmail. Y no sé porqué sólo me llega uno de ellos. Cuando he probado mandarlo a dos direcciones diferentes, entonces sí que ha funcionado.
Gracias Leo, y si esto es como digo y sabes por qué pasa, si puedes comentarlo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

rauls66 escribió:
el problema era que para hacer las pruebas me enviaba el correo a la misma dirección de Gmail. Y no sé porqué sólo me llega uno de ellos

Cuando envías un email con varios destinatarios en su cabecera, realmente se enviara un único email al servidor SMTP, es el servidor el que envía una copia a cada uno de los destinatarios, y depende de el enviar copias repetidas a una misma dirección o no, es algo que no depende de este código.
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.