 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Jue 30 Nov, 2006 9:26 am Asunto: |
|
|
No tengo parte del código, pero el componete tiene en su parte la siguiente instruccion
| Código: | PowerSock1->PostMessage->Attachments->Add( <Nombre del archivo> ); |
y algo de codigo puede como este, supongamos que ingresas a un componente TListBox el nombre de los archivos a adjuntar, bien te vale un codigo como este
| Código: | for(int a=0;a< ListBox1->Count ;a++)
{
PowerSock1->PostMessage->Attachments->Add( ListBox1->Items[a] );
} |
o bien si tiene la propidad AddStrings mas facil aun
| Código: | PowerSock1->PostMessage->Attachments->AddStrings( ListBox1->Items->Strings ); |
Saludos, estamos en contacto. _________________
 |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Vie 01 Dic, 2006 11:17 am Asunto: |
|
|
He estado investigando el elemento TPowersock. Hasta donde he visto no dispone de la propiedad PostMessage, ni de ninguna de sus derivadas, así que me temo que no será posible adjuntar ficheros a un mensaje por este método.
Seguiré investigando. _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Dom 03 Dic, 2006 9:58 am Asunto: |
|
|
Repasando las propiedades y métodos de Powersock encontré que tiene SendFile, para enviar ficheros. Sin embargo, no he conseguido que me remita los adjuntos. El código que estoy usando, modificando el que daba Leo en el enlace anterior (Hotmail) es este:
| Código: | void __fastcall TfSocios::EnviaMensaje(int nSocio, String cAsunto, String cMensaje)
{
Powersock->Host = AnsiString(cServidor);
Powersock->Port = 25;
if (Powersock->Connected)
Powersock->Disconnect();
Powersock->Connect();
if (!Powersock->Connected)
throw Exception("No se pudo conectar");
fTablas->qBusSoc->Close();
fTablas->qBusSoc->UnPrepare();
fTablas->qBusSoc->ParamByName("Socio")->AsInteger = nSocio;
fTablas->qBusSoc->Prepare();
fTablas->qBusSoc->Open();
String respuesta = Powersock->ReadLn();
memoConversacion->Lines->Add(respuesta);
if (respuesta.Pos("220") != 1)
throw Exception("Error al conectar");
EnviarComando("ehlo " + AnsiString(cUsuario));
EnviarComando("rset");
EnviarComando("auth LOGIN", 334);
EnviarComando(CodificarBase64(AnsiString(cUsuario)), 334, false);
EnviarComando(CodificarBase64(AnsiString(cClave)), 235, false);
EnviarComando("mail from:" + AnsiString(cEmailA));
EnviarComando("rcpt to:" + fTablas->qBusSoc->FieldByName("Login")->AsString + "@internautas.org");
if (!fTablas->qBusSoc->FieldByName("Email")->AsString.IsEmpty())
EnviarComando("rcpt to:" + fTablas->qBusSoc->FieldByName("Email")->AsString);
// EnviarComando("rcpt bcc:" + AnsiString(cEmailA));
EnviarComando("data", 354);
String cabecera = "Subject: Socio núm.: " + FormatFloat("###,##0' - '", nSocio) + cAsunto + "\r\n"
"From: " + AnsiString(cTitular) + "\r\n";
EnviarComando(cabecera + "\r\n" + cMensaje + "\r\n.");
Powersock->SendFile("Asociacion.dsk");
EnviarComando("Quit", 221);
Powersock->Disconnect();
Application->ProcessMessages();
}
//---------------------------------------------------------------------------
void __fastcall TfSocios::EnviarComando(String cmd, int resp, bool cr)
{
memoConversacion->Lines->Add(">> " + cmd);
if (cr)
Powersock->Writeln(cmd);
else
Powersock->Write(cmd);
String respuesta;
do
{
respuesta = Powersock->ReadLn();
memoConversacion->Lines->Add("<< " + respuesta);
if (respuesta.Pos(resp) != 1)
throw Exception("Error :: " + cmd);
} while (respuesta[4] == '-');
}
//---------------------------------------------------------------------------
String __fastcall TfSocios::CodificarBase64(String str)
{
std::auto_ptr<TStringStream> is(new TStringStream(str));
std::auto_ptr<TStringStream> os(new TStringStream(""));
Processor->InputStream = is.get();
Processor->OutputStream = os.get();
Processor->Method = uuMime;
Processor->Encode();
return os->DataString;
}
//--------------------------------------------------------------------------- |
Ponga donde ponga Powersock->SendFile("Asociacion.dsk"); o me da errores de ejecución o no ejecuta la orden Quit, que es lo que ocurre donde está puesto ahora.
Además ¿no se puede remitir el correo como "con copia oculta"? _________________ Un saludo
Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA) |
|
| Volver arriba |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|