| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
rauls66 Lt Cmdr

Registrado: 20 Abr 2008Mensajes: 119
|
Publicado: Sab 20 Sep, 2008 7:50 pm Asunto: Reenvío del correo a varios destinatarios. |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Sab 20 Sep, 2008 8:44 pm Asunto: |
|
|
| 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 |
|
 |
rauls66 Lt Cmdr

Registrado: 20 Abr 2008Mensajes: 119
|
Publicado: Dom 21 Sep, 2008 10:43 am Asunto: |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Dom 21 Sep, 2008 11:32 am Asunto: |
|
|
| 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 |
|
 |
rauls66 Lt Cmdr

Registrado: 20 Abr 2008Mensajes: 119
|
Publicado: Dom 21 Sep, 2008 7:07 pm Asunto: |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Dom 21 Sep, 2008 7:21 pm Asunto: |
|
|
| 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 |
|
 |
|