Hello, Unless I'm mistaken, the MailMessage and SmtpClient classes are part of the System.Net.Mail namespace, which is not part of gtk-sharp, but part of the Base Class Library implementation provided by Mono itself.
So I think this is not the right mailing list for your question. I'd suggest to use one of the Mono support channels: http://www.mono-project.com/Support Cheers, -- Bertrand 2014/1/17 Adrian Eric <[email protected]>: > Can someone please tell me why the code below with doing well in Windows but > not in Linux? > > In linux generate the error "Message could not be sent."!!!. but not give me > more details. > > First I thought the problem was the attachment, tried to remove these lines > of code but the problem persists. > > from already thank you very much. > > Saludos y muchas gracias!!. > > > public class enviar_email > { > Window ventana; > > public enviar_email(string[] para, string[] cc, string[] cco, > string asunto, string mensaje, string > caminoAdjunto, > string tipoDeDato, out bool enviadoOK) > { > //determino los datos del usuario > DataTableReader reader = new > DataTableReader(MainWindow.tablaUsuarioActual); > reader.Read(); > uint IdUsuario = uint.Parse(reader["IdUsuario"].ToString()); > string email_rtte = reader["email"].ToString(); > string usuario_casilla = reader["usuarioEmail"].ToString(); > string contraseña_casilla = > reader["contraseniaEmail"].ToString(); > string servidorSMTP = reader["servidor_salida"].ToString(); > string servidorAutentic = > reader["servidor_autenticacion"].ToString(); > > //verifico que existan los datos de usuario p/poder enviar > if(email_rtte.Length == 0 | usuario_casilla.Length == 0 | > contraseña_casilla.Length == 0 > | servidorSMTP.Length == 0 | servidorAutentic.Length == 0) > { > muestraDialogo msjErrorEmail = new muestraDialogo("Falta > configuración", "Los datos de configuración necesarios para enviar" + > "\ncorreo > electrónico no estan completos. Diríjase a 'Configuración-Usuarios'" + > "\npara > completar los datos faltantes.", MessageType.Warning); > enviadoOK = false; > return; > > } > > MailMessage mailMensaje = new MailMessage(); > mailMensaje.From = new MailAddress(email_rtte); > > if(para[0]!= "vacio") > { > foreach(string Para in para ) > { > MailAddress mailAddressPara = new MailAddress(Para); > mailMensaje.To.Add(mailAddressPara); > } > > } > > if(cc.Length != 0) > { > foreach(string conCopia in cc ) > { > if(conCopia == "") > break; > MailAddress mailAddressCC = new MailAddress(conCopia); > mailMensaje.CC.Add(mailAddressCC); > } > > } > > if(cco.Length != 0) > { > foreach(string conCopiaOculta in cco ) > { > if(conCopiaOculta == "") > break; > MailAddress mailAddressCCO = new > MailAddress(conCopiaOculta); > mailMensaje.Bcc.Add(mailAddressCCO); > } > > } > > > //aislo el nombre del adjunto del camino pasado a la clase > char caracterSeparador = > (MainWindow.separadorDir.ToCharArray())[0]; > int indiceFinal = caminoAdjunto.LastIndexOf(caracterSeparador); > string nombreArchivo = caminoAdjunto.Substring(indiceFinal+1, > caminoAdjunto.Length-(indiceFinal+1)); > > mailMensaje.Subject = asunto; > Attachment adjunto = new Attachment(caminoAdjunto); > mailMensaje.Attachments.Add(adjunto); > > //con la linea siguiente configuro la opcion de la confirmacion > de lectura > //y a que direccion debera enviar dicha confirmacion > mailMensaje.Headers.Add("Disposition-Notification-To", > usuario_casilla); > SmtpClient cliente = new SmtpClient(servidorAutentic, 25); > cliente.Credentials = new > System.Net.NetworkCredential(usuario_casilla, contraseña_casilla); > > > try > { > cliente.Send(mailMensaje); > > } > catch (SmtpException ex) > { > muestraDialogo dialogoError = new muestraDialogo("Error en > envío de e-mail", > "Hubo un > error en el intento de envío " + > "del correo > electronico." + > "\nPor > favor pongase en contacto con el administrador" + > "\ndel > sistema y comentele del error recibido." + > "\nMensaje > del error: " + ex.Message, > > MessageType.Error); > enviadoOK = false; > mailMensaje.Dispose(); > bool eliminado; > EliminarArchivo eliminarFile = new > EliminarArchivo(caminoAdjunto, out eliminado); > > return; > } > > MessageDialog dialogo = new > MessageDialog(ventana,DialogFlags.Modal, MessageType.Info, > ButtonsType.Ok, > "El correo se envió satisfactoriamente."); > dialogo.UseMarkup = true; > dialogo.Title = "<b>Informe de envío</b>"; > dialogo.WindowPosition = WindowPosition.Center; > dialogo.Run(); > dialogo.Hide(); > > } > > _______________________________________________ > Gtk-sharp-list maillist - [email protected] > http://lists.ximian.com/mailman/listinfo/gtk-sharp-list > _______________________________________________ Gtk-sharp-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
