关于网友提出的“ 使用net 发邮件,很慢呀,约30秒左右!”问题疑问,本网通过在网上对“ 使用net 发邮件,很慢呀,约30秒左右!”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 使用net 发邮件,很慢呀,约30秒左右!
描述: 用的是
using System.Net;
using System.Net.Mail;
发送邮件的配送信息写在web.config的
/>
你们怎么发的?速度如何?这慢的原因又出在那里??
解决方案1:
///
/// 邮件实体
///
public struct DawnProMail
{
private string from;
///
/// 发送者邮箱
///
public string From
{
get { return from; }
set { from = value; }
}
private string to;
///
/// 收件者集合以;分号分隔
///
public string To
{
get { return to; }
set { to = value; }
}
private string fromDisplayName;
///
/// 发送者姓名
///
public string FromDisplayName
{
get { return fromDisplayName; }
set { fromDisplayName = value; }
}
private string subject;
///
/// 邮件标题
///
public string Subject
{
get { return subject; }
set { subject = value; }
}
private string body;
///
/// 邮件正文
///
public string Body
{
get { return body; }
set { body = value; }
}
}
解决方案2: using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
namespace DFG.Common
{
///
/// 静态类 提供发送邮件的方法
///
public static class Mail
{
///
/// 发送邮件
///
/// DawnProMail实体
/// 邮件服务器
public static void sendMail(DawnProMail mail,string host)
{
MailAddress fromAddress = new MailAddress(mail.From, mail.FromDisplayName);
MailMessage msg = new MailMessage();
msg.From = fromAddress;
string[] sendTo = mail.To.Split(';');
foreach (string temp in sendTo)
{
if (temp != string.Empty)
{
msg.Bcc.Add(temp);
}
}
msg.IsBodyHtml = true;
msg.Subject = mail.Subject;
msg.Body = mail.Body;
/>
SmtpClient smtpClient = new SmtpClient(host);
smtpClient.Send(msg);
}
///
/// 发送邮件
///
/// DawnProMail实体
/// 邮件服务器
/// 端口
public static void sendMail(DawnProMail mail, string host,int port)
{
MailAddress fromAddress = new MailAddress(mail.From, mail.FromDisplayName);
MailMessage msg = new MailMessage();
msg.From = fromAddress;
string[] sendTo = mail.To.Split(';');
foreach (string temp in sendTo)
{
if (temp != string.Empty)
{
msg.Bcc.Add(temp);
}
}
msg.IsBodyHtml = true;
msg.Subject = mail.Subject;
msg.Body = mail.Body;
SmtpClient smtpClient = new SmtpClient(host,port);
smtpClient.Send(msg);
}
///
/// 发送邮件
///
/// DawnProMail实体
/// 邮件服务器
/// 端口
/// 权限验证所需的用户名
/// 权限验证所需的密码
public static void sendMail(DawnProMail mail, string host, int port, string adminName, string adminPassword)
{
MailAddress fromAddress = new MailAddress(mail.From, mail.FromDisplayName);
MailMessage msg = new MailMessage();
msg.From = fromAddress;
string[] sendTo = mail.To.Split(';');
foreach (string temp in sendTo)
{
if (temp != string.Empty)
{
msg.Bcc.Add(temp);
}
}
msg.IsBodyHtml = true;
msg.Subject = mail.Subject;
msg.Body = mail.Body;
SmtpClient smtpClient = new SmtpClient(host, port);
smtpClient.Credentials = new System.Net.NetworkCredential(adminName, adminPassword);
smtpClient.Send(msg);
}
///
/// 发送邮件
///
/// DawnProMail实体
/// 邮件服务器
/// 端口
/// 权限验证所需的用户名
/// 权限验证所需的密码
/// 域
public static void sendMail(DawnProMail mail, string host, int port,string adminName,string adminPassword,string domain)
{
MailAddress fromAddress = new MailAddress(mail.From, mail.FromDisplayName);
MailMessage msg = new MailMessage();
msg.From = fromAddress;
string[] sendTo = mail.To.Split(';');
foreach (string temp in sendTo)
{
if (temp != string.Empty)
{
msg.Bcc.Add(temp);
}
}
msg.IsBodyHtml = true;
/>
msg.Subject = mail.Subject;
msg.Body = mail.Body;
SmtpClient smtpClient = new SmtpClient(host, port);
smtpClient.Credentials = new System.Net.NetworkCredential(adminName,adminPassword,domain);
smtpClient.Send(msg);
}
///
/// 发送邮件
///
/// DawnProMail实体
/// 邮件服务器
/// 权限验证所需的用户名
/// 权限验证所需的密码
public static void sendMail(DawnProMail mail, string host, string adminName, string adminPassword)
{
MailAddress fromAddress = new MailAddress(mail.From, mail.FromDisplayName);
MailMessage msg = new MailMessage();
msg.From = fromAddress;
string[] sendTo = mail.To.Split(';');
foreach (string temp in sendTo)
{
if (temp != string.Empty)
{
msg.Bcc.Add(temp);
}
}
msg.IsBodyHtml = true;
msg.Subject = mail.Subject;
msg.Body = mail.Body;
SmtpClient smtpClient = new SmtpClient(host);
smtpClient.Credentials = new System.Net.NetworkCredential(adminName, adminPassword);
smtpClient.Send(msg);
}
///
/// 发送邮件
///
/// DawnProMail实体
/// 邮件服务器
/// 权限验证所需的用户名
/// 权限验证所需的密码
/// 域
public static void sendMail(DawnProMail mail, string host, string adminName, string adminPassword, string domain)
{
MailAddress fromAddress = new MailAddress(mail.From, mail.FromDisplayName);
MailMessage msg = new MailMessage();
msg.From = fromAddress;
string[] sendTo = mail.To.Split(';');
foreach (string temp in sendTo)
{
if (temp != string.Empty)
{
msg.Bcc.Add(temp);
}
}
msg.IsBodyHtml = true;
msg.Subject = mail.Subject;
msg.Body = mail.Body;
SmtpClient smtpClient = new SmtpClient(host);
smtpClient.Credentials = new System.Net.NetworkCredential(adminName, adminPassword, domain);
smtpClient.Send(msg);
}
}
}
解决方案3: 网上一般都有现成的方法,如果慢,请先排除外因,比如你机器本身的问题,你所在的网络的问题,然后检查你的代码有没有异常,查询数据库得到数据是否有问题等等。。
以上介绍了“ 使用net 发邮件,很慢呀,约30秒左右!”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2127389.html