关于MailMessage的问题
在做一个发送邮件的时候遇到一些问题.
我做了一个DLL类
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.Mail;
using System.Collections;
namespace smtp
{
public class Class1
{
public void sendmail(Hashtable hashtable)
{
MailMessage mail = new MailMessage();
string mailTo, mailFrom, cc, Bcc, password, attachments, subject, body, username, smtp;
//收邮件地址
mailTo = hashtable["mailTo"].ToString();
mail.To = mailTo;
//发邮件地址
mailFrom = hashtable["mailFrom"].ToString();
mail.From = mailFrom;
//邮件附件
attachments = hashtable["attachments"].ToString();
if (attachments != null && attachments != "")
{
mail.Attachments.Add(new MailAttachment(attachments));
}
//邮件抄送
cc = hashtable["cc"].ToString();
mail.Cc = cc;
//邮件暗送
Bcc = hashtable["Bcc"].ToString();
mail.Bcc = Bcc;
//设置server
//int i = mailFrom.IndexOf('@');
//string server = mailFrom.Substring(i + 1, (mailFrom.Length - i - 1));
//主题
subject = hashtable["subject"].ToString();
mail.Subject = subject;
//内容
body = hashtable["mailbody"].ToString();
mail.Body = body;
//发信人姓名
username = hashtable["username"].ToString();
//密码
password = hashtable["password"].ToString();
//smtp服务器
// smtp = hashtable["smtp"].ToString();
// try
// {
//设置为需要用户验证
// mail.Fields.Add(@"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
//value=0 代表Anonymous验证方式(不需要验证)
//value=1 代表Basic验证方式 使用basic (clear-text) authentication.
//Value=2 代表NTLM验证方式 Secure Password Authentication in Microsoft Outlook Express
//设置验证用户名
// mail.Fields.Add(@"http://schemas.microsoft.com/cdo/configuration/sendusername", username);
//设置验证密码
// mail.Fields.Add(@"http://schemas.microsoft.com/cdo/configuration/sendpassword", password);
//设置smtp服务器
SmtpMail.SmtpServer = smtp; //少部分邮箱smtp不为这个规律
//SmtpMail.SmtpServer = "mail338.lolipop.jp"; //公司smtp服务器
//SmtpMail.SmtpServer = "seikacn.changeip.org";
//发送邮件
// SmtpMail.Send(mail);
// }
// catch (Exception ex)
// {
// }
}
}
}
现在我不设置smtp服务器,邮件一样能发出 .所以我很是不理解,所以想请教高手.mailmessage里面是不是封装了smtp服务器.?????
我做了一个DLL类
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.Mail;
using System.Collections;
namespace smtp
{
public class Class1
{
public void sendmail(Hashtable hashtable)
{
MailMessage mail = new MailMessage();
string mailTo, mailFrom, cc, Bcc, password, attachments, subject, body, username, smtp;
//收邮件地址
mailTo = hashtable["mailTo"].ToString();
mail.To = mailTo;
//发邮件地址
mailFrom = hashtable["mailFrom"].ToString();
mail.From = mailFrom;
//邮件附件
attachments = hashtable["attachments"].ToString();
if (attachments != null && attachments != "")
{
mail.Attachments.Add(new MailAttachment(attachments));
}
//邮件抄送
cc = hashtable["cc"].ToString();
mail.Cc = cc;
//邮件暗送
Bcc = hashtable["Bcc"].ToString();
mail.Bcc = Bcc;
//设置server
//int i = mailFrom.IndexOf('@');
//string server = mailFrom.Substring(i + 1, (mailFrom.Length - i - 1));
//主题
subject = hashtable["subject"].ToString();
mail.Subject = subject;
//内容
body = hashtable["mailbody"].ToString();
mail.Body = body;
//发信人姓名
username = hashtable["username"].ToString();
//密码
password = hashtable["password"].ToString();
//smtp服务器
// smtp = hashtable["smtp"].ToString();
// try
// {
//设置为需要用户验证
// mail.Fields.Add(@"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
//value=0 代表Anonymous验证方式(不需要验证)
//value=1 代表Basic验证方式 使用basic (clear-text) authentication.
//Value=2 代表NTLM验证方式 Secure Password Authentication in Microsoft Outlook Express
//设置验证用户名
// mail.Fields.Add(@"http://schemas.microsoft.com/cdo/configuration/sendusername", username);
//设置验证密码
// mail.Fields.Add(@"http://schemas.microsoft.com/cdo/configuration/sendpassword", password);
//设置smtp服务器
SmtpMail.SmtpServer = smtp; //少部分邮箱smtp不为这个规律
//SmtpMail.SmtpServer = "mail338.lolipop.jp"; //公司smtp服务器
//SmtpMail.SmtpServer = "seikacn.changeip.org";
//发送邮件
// SmtpMail.Send(mail);
// }
// catch (Exception ex)
// {
// }
}
}
}
现在我不设置smtp服务器,邮件一样能发出 .所以我很是不理解,所以想请教高手.mailmessage里面是不是封装了smtp服务器.?????
...全文
相关推荐
C#使用MailMessage发送邮件
需要注意的是,在实际项目中可能还会涉及到更多的细节问题,例如邮件服务器的配置、安全性的考虑以及错误处理机制等。希望本文能够帮助大家理解和掌握使用 C# 发送邮件的基本方法。
ASP技术常遇问题解答-如何发送电子邮件?.zip
在这个“ASP技术常遇问题解答-如何发送电子邮件?”的主题中,我们将深入探讨如何利用ASP来实现邮件发送功能,这是许多Web开发者在实际工作中可能遇到的需求。
C#发送邮件(带附件)
请注意,发送邮件时可能会遇到一些问题,如网络连接问题、权限限制或服务器验证失败等。因此,建议在尝试发送邮件前先进行错误处理,确保程序的健壮性。
c# 实现发送邮件的功能
); return true;} catch (SmtpException ex) { throw ex;}```然而,在实际操作中可能会遇到一些问题。
.net 邮件收发
该版本不仅支持邮件接收,还经过了充分测试,确保了附件的完整性和安全性,避免了其他版本可能出现的附件丢失或损坏的问题。


