Solved

send mail from app.net

Posted on 2016-10-21
8
35 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
ID: 41853855
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
ID: 41853905
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
ID: 41853907
did you comment out the line below?

clienteenvio.Credentials = new NetworkCredential(mailuser, mailuserpass);
0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 

Author Comment

by:enrique_aeo
ID: 41854481
it is comment, but not send mail
0
 
LVL 35

Expert Comment

by:YZlat
ID: 41854489
do you get any error?
0
 

Author Comment

by:enrique_aeo
ID: 41854500
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
ID: 41854540
this is the problema
 <add key="MailServerSSL" value="1" />

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

Author Closing Comment

by:enrique_aeo
ID: 41854543
<add key="MailServerPort" value="25" />
    <add key="MailServerSSL" value="0" />
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

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…
Today is the age of broadband.  More and more people are going this route determined to experience the web and it’s multitude of services as quickly and painlessly as possible. Coupled with the move to broadband, people are experiencing the web via …
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.

808 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