Si no te va lo de Pioli, esto para mandar mails simplotes, también camina y es sencillito, yo lo tengo en un prg que recibe los parámetros.
Lparameters tcMailServer as String, tcSenderEmail as String,; tcAttachment as String, tcRecipient as String,; tcCCList as String, tcBCCList as String, tcSendUserName as String,; tcPassword as String, tcSubject as String, tcMessage as String *!* En el caso de que el tcMailServer sea Gmail, el parámetro tcSenderEmail no *!* lo usa para el remitente, en cambio, usa tcSendUserName LOCAL loCfg as Object, loMsg as Object, lcFile as String, loErr as Object,; lnPort as Integer, lcError as String TRY loCfg = CREATEOBJECT("CDO.Configuration") lnPort = Iif('GMAIL' $ Upper(tcMailServer), 465, 25) && También podría ser 587 para gmail WITH loCfg.Fields .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = tcMailServer .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = lnPort .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 If !Empty(tcSendUserName) and !Empty(tcPassword) .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = .T. .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = .T. .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = tcSendUserName .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = tcPassword EndIf .Update ENDWITH loMsg = CREATEOBJECT ("CDO.Message") WITH loMsg .Configuration = loCfg *-- Remitente y destinatarios .From = tcSenderEmail .To = tcRecipient .Cc = tcCCList .BCc = tcBCCList .Subject = tcSubject .TextBody = tcMessage IF NOT EMPTY(tcAttachment) If (',' $ tcAttachment and ';' $ tcAttachment) lcError = 'Delimitador de archivos adjuntos incongruente' else Local lnFiles as Integer, lnCounter as Integer, lcDelimiter as String,; lcAttach as String lcDelimiter = Iif(',' $ tcAttachment, ',', ';') lnFiles = GetWordCount(tcAttachment, lcDelimiter) For lnCounter = 1 to lnFiles lcAttach = GetWordNum(tcAttachment, lnCounter, lcDelimiter) .AddAttachment(lcAttach) EndFor EndIf ENDIF *-- Envio el mensaje If Empty(lcError) .Send() Information('Correo enviado') Else Warning(lcError) EndIf ENDWITH CATCH TO loErr MESSAGEBOX("No se pudo enviar el mensaje" + CHR(13) + ; "Error: " + TRANSFORM(loErr.ErrorNo) + CHR(13) + ; "Mensaje: " + loErr.Message , 16, "Error") FINALLY loMsg = NULL loCfg = NULL ENDTRY De: GUFA@mug.org.ar [mailto:GUFA@mug.org.ar] En nombre de Norberto Petrasso Enviado el: miércoles, 06 de abril de 2011 02:58 p.m. Para: GUFA List Member Asunto: [GUFA] Enviar correo desde foxpro v9 Hola, necesito enviar un correo desde una aplicacion hecha en foxpro v9. Agradeceria si me pueden pasar un ejemplo. Gracias.