[Gtk-sharp-list] MailMessage class does not work in Linux, but if Windows
Bertrand Lorentz
bertrand.lorentz at gmail.com
Mon Jan 20 15:30:35 UTC 2014
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 <adrianeric40 at gmail.com>:
> 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 - Gtk-sharp-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>
More information about the Gtk-sharp-list
mailing list