我已经编写了一个测试控制台应用程序,用于检索数据并从消息队列发送邮件。我的控制台应用程序驻留在同一个应用程序中 我的主要项目的解决方案。在我的消息队列中有邮件消息。当我运行我的控制台应用程序时,有一个调用 邮件发送方法,但问题是邮件没有被发送.seenms我已经给出的mailSettings 当我通过控制台应用程序发送邮件时,没有应用web.config文件。因为我直接发送邮件时没有 控制台应用程序的帮助消息正在成功发送。当我指定邮件设置选项时 源代码本身通过smtp属性邮件正在通过控制台应用程序发送。但我想通过控制台应用程序发送邮件 web.congig上设置的邮件设置。
我如何克服这个问题。
最好的问候。
我在web.config中的设置。
我发送邮件的代码
public static void SendMailMessage(string from,string to,string bcc,string cc,string subject,string body,List attachments) { //实例化MailMessage的新实例 MailMessage mMailMessage = new MailMessage();
// Set the sender address of the mail message
mMailMessage.From = new MailAddress(from);
// Set the recepient address of the mail message
//string[] arrEmailTo = to.Split(',');
//foreach (string itemTo in arrEmailTo)
//{
// //mMailMessage.To.Add(new MailAddress(itemTo));
//}
mMailMessage.To.Add(to);
// Check if the bcc value is null or an empty string
if ((bcc != null) && (bcc != string.Empty))
{
// Set the Bcc address of the mail message
mMailMessage.Bcc.Add(new MailAddress(bcc));
}
// Check if the cc value is null or an empty value
if ((cc != null) && (cc != string.Empty))
{
// Set the CC address of the mail message
mMailMessage.CC.Add(new MailAddress(cc));
}
// Set the subject of the mail message
mMailMessage.Subject = subject;
//mMailMessage.SubjectEncoding = System.Text.Encoding.UTF8;
//int Idd=BitConverter.ToInt32(Encrypt((Id.Id).ToString()),0);
// byte[] IdHash = Encrypt((Id.Id).ToString());//generating hassh value
//int IdHash1 = BitConverter.ToInt32(IdHash, 0);
//passing the hash value by encoding it
// Set the body of the mail message
mMailMessage.Body = body;
//include the attachments if any
if(attachments!=null)
foreach (string file in attachments)
{
Attachment aa = new Attachment(UpPath+file);
mMailMessage.Attachments.Add(aa);
}
// Secify the format of the body as HTML
mMailMessage.IsBodyHtml = true;
// Set the priority of the mail message to normal
mMailMessage.Priority = MailPriority.High;
// Instantiate a new instance of SmtpClient
SmtpClient mSmtpClient = new SmtpClient();
mSmtpClient.EnableSsl = true;
// ********* //通过在源代码中设置这些选项,邮件可以正常发送 // ******
//mSmtpClient.Host = "smtp.gmail.com";
//mSmtpClient.Port = 25;
// Send the mail message
//System.Net.NetworkCredential s = new System.Net.NetworkCredential("username@gmail.com", "password");
//mSmtpClient.Credentials = s;
//mSmtpClient.Port = 587;
mSmtpClient.Send(mMailMessage);
// ********* //通过在源代码中设置这些选项,邮件可以正常发送 // ****** }
先谢谢
答案 0 :(得分:0)
仅为了您的测试,使用您的邮件设置将App.Config添加到Console项目。