en eventos:
// valores por defecto
// &Serv = '
[email protected]' C60
// &CC = '' con copia a ..... ,C60
// &CO = '' con copia oculta a (varios separados por coma) , C60
// &Attach = '' poner path y nombre del archivo (varios separados por coma) ,C60
// &To = &SopMail C60
// &Asunto = 'El asunto que quieras' C60
// &TexMail = &TexBie Longvarchar 10Kb
// Call(PSendMail,&Serv,&RNom,&RMail,&To,&CC,&CO,&Asunto,&TexMail,&Attach) completo
// Call(PSendMail,'','','',&To,'','',&Asunto,&TexMail,'') minimo
El procedure sendmail va asi
En rules:
Parm( &Serv,&RNom,&RMail,&To,&CC,&CO,&Asunto,&TexMail,&Attach );
En source
&smtp.Host = &Serv (SMTP.SMTPDIR.COM.AR)
&smtp.Sender.Address = &RMail //Email remitente manda el mail
&smtp.Sender.Name = &RNom //Nombre remitente
&smtp.ErrDisplay = 1 //Si hay error
&smtp.Login()
&Mail.Clear()
&Mail.To.New(&To, &To)
&Mail.Subject = &Asunto
&Mail.Text = &TexMail
&smtp.AttachDir = 'C:Directorio'
&Mail.Atachments.Add('Archivo.ext') // &archivo
&smtp.Send(&Mail)
&smtp.Logout()
Las variables mas importantes son &mail que es una variable de tipo mailmessage, y &smtp que es de tipo SMTPSession.
No se si esto funcionara con basico y visual pero podes probar. Esta informacion la saque de Gx Tech. Saludos!