Solved

send mail from app.net

Posted on 2016-10-21
8
27 Views
Last Modified: 2016-10-21
i have web App
i need send email after SAVE in the database

I'm using a code that uses my email and password, is there any way to use a smtp unauthenticated

this code in web.config
    <add key="MailUser" value="elopezh@smi.com.pe" />
    <add key="MailUserPass" value="inicio01" />
    <add key="MailServer" value="smtp.office365.com" />
    <add key="MailServerPort" value="587" />
    <add key="MailServerSSL" value="1" />


--- this is the class
public static bool EnviarCorreo(MailModel correo)
        {
            try
            {
                Log.WriteLogInfo("Inicio Enviar correo");
 
                //tomar los datos de conexion del webconfig
                string flgenviarcorreo = System.Configuration.ConfigurationManager.AppSettings["FlgEnviarCorreo"];
 
                string mailuser = System.Configuration.ConfigurationManager.AppSettings["MailUser"];
                string mailuserpass = System.Configuration.ConfigurationManager.AppSettings["MailUserPass"];
                string mailserver = System.Configuration.ConfigurationManager.AppSettings["MailServer"];
                string mailserverport = System.Configuration.ConfigurationManager.AppSettings["MailServerPort"];
                string mailserverssl = System.Configuration.ConfigurationManager.AppSettings["MailServerSSL"];
 
                MailMessage mail = new MailMessage();
                mail.IsBodyHtml = true;
                mail.From = new MailAddress(mailuser);
 
                mail.Subject = correo.Asunto;
                mail.Body = correo.MensajeHtml;
                mail.Priority = MailPriority.High;
 
 
                string palinBody = correo.MensajeTexto;
                AlternateView plainView = AlternateView.CreateAlternateViewFromString(palinBody, null, "text/plain");
 
                // then we create the Html part to embed images,
                // we need to use the prefix 'cid' in the img src value
                string htmlBody = correo.MensajeHtml;
                AlternateView htmlView = AlternateView.CreateAlternateViewFromString(
                    htmlBody, null, "text/html");
 
                // add the views
                mail.AlternateViews.Add(plainView);
                mail.AlternateViews.Add(htmlView);
 
                SmtpClient clienteenvio = new SmtpClient();
                clienteenvio.UseDefaultCredentials = false;
                clienteenvio.DeliveryMethod = SmtpDeliveryMethod.Network;
 
                clienteenvio.Credentials = new NetworkCredential(mailuser, mailuserpass);
                clienteenvio.Host = mailserver;
                clienteenvio.Port = Convert.ToInt32(mailserverport);
                clienteenvio.EnableSsl = false;
                if (mailserverssl == "1")
                {
                    clienteenvio.EnableSsl = true;
                }
 
                try
                {
                    clienteenvio.Send(mail);
                    Log.WriteLogInfo("Se envio el mensaje de correo " + mail.To[0].Address);
                    return true;
                }
                catch (Exception ex)
                {
                    Log.WriteLogError(ex.Message);
                    return false;
                }
            }
            catch (Exception ex)
            {
                Log.WriteLogError(ex.Message);
                throw ex;
            }
        }


in App web
            if (DAL_Solicitud.Guardar(ref solicitud))
            {

                MailModel resul = new MailModel();
                resul.Para.Add("elopezh@smi.com.pe");
                if (model.emp_inv_des == "10359") resul.CC.Add("pchanca@smi.com.pe");
                resul.MensajeTexto = "Prueba de envio de correo: MensajeTexto";
                resul.MensajeHtml = "<table>" +
                "<tr><td style='font-weight:bold'>Proyecto:" + "</td><td>" + solicitud.proyecto + "</td>" + "</tr>" +
                "<tr><td style='font-weight:bold'>Solicita:" + "</td><td>" + solicitud.emp_comercial + "</td>" + "</tr>" +
                "<tr><td style='font-weight:bold'>Empresa:" + "</td><td>" + solicitud.empresa + "</td>" + "</tr>" +
                "</table>";
                resul.Asunto = "Solicitud de Proyecto";
                VTRUtil.EnviarCorreo(resul);

                return Json(new { coderror = solicitud.coderror, msgerror = solicitud.msgerror });
            }
0
Comment
Question by:enrique_aeo
  • 5
  • 3
8 Comments
 
LVL 35

Assisted Solution

by:YZlat
YZlat earned 500 total points
Comment Utility
If the UseDefaultCredentials property is set to false and the Credentials property has not been set, then mail is sent to the server anonymously. You have UseDefaultCredentials set to false, so just do not specify any credentials and try sending it that way...
0
 

Author Comment

by:enrique_aeo
Comment Utility
already you have that code

SmtpClient clienteenvio = new SmtpClient();
clienteenvio.UseDefaultCredentials = false;
clienteenvio.DeliveryMethod = SmtpDeliveryMethod.Network;
0
 
LVL 35

Accepted Solution

by:
YZlat earned 500 total points
Comment Utility
did you comment out the line below?

clienteenvio.Credentials = new NetworkCredential(mailuser, mailuserpass);
0
 

Author Comment

by:enrique_aeo
Comment Utility
it is comment, but not send mail
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 35

Expert Comment

by:YZlat
Comment Utility
do you get any error?
0
 

Author Comment

by:enrique_aeo
Comment Utility
THIS IS THE ERROR
Message      "Server does not support secure connections."      string
Source      "System"      string
StackTrace      "   at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint)\r\n   at System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)\r\n   at System.Net.Mail.SmtpClient.GetConnection()\r\n   at System.Net.Mail.SmtpClient.Send(MailMessage message)\r\n   at srvvtr.VTRUtil.EnviarCorreo(MailModel correo) in

WEB.CONFIG
<!--Configuracion de Correo-->
    <add key="FlgEnviarCorreo" value="1" />
    <add key="MailUser" value="sistemas@smi.com.pe" />
    <add key="MailUserPass" value="Pa$$w0rd02" />
    <add key="MailServer" value="smtp.smi.com.pe" />
    <add key="MailServerPort" value="25" />
    <add key="MailServerSSL" value="1" />
0
 

Author Comment

by:enrique_aeo
Comment Utility
this is the problema
 <add key="MailServerSSL" value="1" />

i change  <add key="MailServerSSL" value="0" />
0
 

Author Closing Comment

by:enrique_aeo
Comment Utility
<add key="MailServerPort" value="25" />
    <add key="MailServerSSL" value="0" />
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now