请问用C#WinForm实现邮件发送功能的步骤?? 能把用C#WinForm实现邮件发送功能的步骤写一下吗??因为第一次做根本不知道如何下手。最好一开始要要什么其他软件也告诉我。。谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #region 邮件发送函数 /// <summary> /// 邮件发送函数 /// </summary> /// <param name="MailTitle">邮件标题</param> /// <param name="ToEmail">要发送的email地址</param> /// <param name="EmailBody">邮件内容</param> public static void PostServerEmail(string MailTitle, string ToEmail, string EmailBody) { jmail.Message Jmail = new jmail.Message(); String Subject = MailTitle; String FromName = "台州人力网"; String FromEmail = "[email protected]"; //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false Jmail.Silent = true; //Jmail创建的日志,前提loging属性设置为true Jmail.Logging = true; //字符集,缺省为"US-ASCII" Jmail.Charset = "GB2312"; //信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。 Jmail.ContentType = "text/html"; //添加收件人 Jmail.AddRecipient(ToEmail, "", ""); Jmail.From = FromEmail; Jmail.FromName = FromName; //发件人邮件用户名 Jmail.MailServerUserName = "[email protected]"; //发件人邮件密码 Jmail.MailServerPassWord = "bbb"; //设置邮件标题 Jmail.Subject = Subject; //邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。 //Jmail.AddAttachment("c:\\test.jpg", true, null); //邮件内容 Jmail.Body = EmailBody; //Jmail发送的方法 Jmail.Send("smtpcom.263xmail.com", false); Jmail.Close(); } #endregion这个是利用jmail 补充一下要用windows服务(WindowsService) 来做这样应该怎么下手呢?? 我们规定了不能用第三方的东西现在规定要用Windows服务来做请问这样我应该要怎么下手呢?? [Quote=引用 4 楼 huwei12345 的回复:]System.Net.Mail请问这个是什么意思?? '登录邮箱 Private Sub GetLoginMail() Dim strResult As String = "" Dim strPopURL As String = "***" ‘POP3地址 server = New TcpClient(strPopURL, 110) NetworkStream = server.GetStream stmReader = New StreamReader(NetworkStream) Me.pgbSingle.Value = 100 '控制进度条 Try strSend = "USER " & Me.txtName.Text.Trim & "@" & Me.cboLink.Text.Trim & vbCrLf bufferstring = Encoding.GetEncoding("gb2312").GetBytes(strSend.ToCharArray()) NetworkStream.Write(bufferstring, 0, bufferstring.Length) strResult = stmReader.ReadLine() Debug.Print(strResult) Me.pgbSingle.Value = 200 '控制进度条 strSend = "PASS " & Me.txtPwd.Text & vbCrLf bufferstring = Encoding.GetEncoding("gb2312").GetBytes(strSend.ToCharArray()) NetworkStream.Write(bufferstring, 0, bufferstring.Length) strResult = stmReader.ReadLine() Debug.Print(strResult) Me.pgbSingle.Value = 400 '控制进度条 strSend = "STAT " & vbCrLf bufferstring = Encoding.GetEncoding("gb2312").GetBytes(strSend.ToCharArray()) NetworkStream.Write(bufferstring, 0, bufferstring.Length) strResult = stmReader.ReadLine() Debug.Print(strResult) Me.pgbSingle.Value = 600 '控制进度条 If strResult.IndexOf("-") = -1 Then strSend = "LIST " & vbCrLf bufferstring = Encoding.GetEncoding("gb2312").GetBytes(strSend.ToCharArray()) NetworkStream.Write(bufferstring, 0, bufferstring.Length) Me.pgbSingle.Value = 800 '控制进度条 Dim strInfo As String = "" Dim str() As String Debug.Print(strResult) strInfo = stmReader.ReadLine() If strInfo.IndexOf("-") <> -1 Then MessageBox.Show("你输入的邮箱或密码有误,请重新输入!", "提示", _ MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) Me.ShowStep(-2) Exit Sub End If str = strInfo.Split(" ") Me.lblMsg.Text = "你的邮件数量:" & str(1) mintECount = str(1) Me.pgbSingle.Value = 1000 '控制进度条 MessageBox.Show(Me.txtName.Text.Trim & "@" & Me.cboLink.Text.Trim & "用户您好!!!", "提示", _ MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) Showinfo() Else MessageBox.Show("你输入的邮箱或密码有误,请重新输入!", "提示", _ MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) Me.ShowStep(-2) End If Catch ex As Exception MessageBox.Show(ex.Message) Me.ShowStep(-2) End Try End Sub private static bool SendEmailBySMTP(string to, string subject, string body, string filePath) { bool result = true; try { string userName = "[email protected]"; string pwd = "pwd"; string host = "smtp.gmail.com"; System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient(); smtpClient.Credentials = new System.Net.NetworkCredential(userName, pwd); smtpClient.Host = host; //如果是gmail 则需要将EnableSsl设置为True,163则设置为False smtpClient.EnableSsl = true; System.Net.Mail.MailMessage mailMsg = new System.Net.Mail.MailMessage(); mailMsg.Priority = System.Net.Mail.MailPriority.High; mailMsg.From = new System.Net.Mail.MailAddress(userName); string[] addressTo = to.Split(';'); foreach (string add in addressTo) { if (add.Trim().Length > 0) mailMsg.To.Add(new System.Net.Mail.MailAddress(add)); } mailMsg.Subject = subject; mailMsg.Body = body; if (filePath.Length > 0 && File.Exists(filePath)) { System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(filePath); mailMsg.Attachments.Add(attachment); //attachment = null; } smtpClient.Send(mailMsg); smtpClient = null; } catch (Exception ex) { Console.WriteLine(ex.Message); result = false; } return result; } C#里面的socket 怎么快速传送文件~~ c#的线程小问题 GPS和serialPort控件的问题(50分 c#) 请问代理服务器的工作原理及C#实现proxy代理服务器的大概结构? 如何对DataGrid的输入数据进行合法性验证? 求得到系统串口名称和个数程序 C#如何模拟flash播放器请求的视频 两个问题,请大家看看 哪里能 下载 nunit C#测试工具??各位帮帮忙:) (急求)C#中如何调用API实现关机(win2K下)?在线等待 数据库插入问题 求教:关于DataGridView操作的,急....
/// <summary>
/// 邮件发送函数
/// </summary>
/// <param name="MailTitle">邮件标题</param>
/// <param name="ToEmail">要发送的email地址</param>
/// <param name="EmailBody">邮件内容</param>
public static void PostServerEmail(string MailTitle, string ToEmail, string EmailBody)
{
jmail.Message Jmail = new jmail.Message(); String Subject = MailTitle;
String FromName = "台州人力网";
String FromEmail = "[email protected]";
//Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
Jmail.Silent = true;
//Jmail创建的日志,前提loging属性设置为true
Jmail.Logging = true;
//字符集,缺省为"US-ASCII"
Jmail.Charset = "GB2312";
//信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
Jmail.ContentType = "text/html";
//添加收件人
Jmail.AddRecipient(ToEmail, "", "");
Jmail.From = FromEmail;
Jmail.FromName = FromName;
//发件人邮件用户名
Jmail.MailServerUserName = "[email protected]";
//发件人邮件密码
Jmail.MailServerPassWord = "bbb";
//设置邮件标题
Jmail.Subject = Subject;
//邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
//Jmail.AddAttachment("c:\\test.jpg", true, null);
//邮件内容
Jmail.Body = EmailBody;
//Jmail发送的方法
Jmail.Send("smtpcom.263xmail.com", false);
Jmail.Close();
}
#endregion这个是利用jmail
这样应该怎么下手呢??
System.Net.Mail请问这个是什么意思??
'登录邮箱
Private Sub GetLoginMail()
Dim strResult As String = ""
Dim strPopURL As String = "***" ‘POP3地址 server = New TcpClient(strPopURL, 110)
NetworkStream = server.GetStream
stmReader = New StreamReader(NetworkStream) Me.pgbSingle.Value = 100 '控制进度条 Try
strSend = "USER " & Me.txtName.Text.Trim & "@" & Me.cboLink.Text.Trim & vbCrLf
bufferstring = Encoding.GetEncoding("gb2312").GetBytes(strSend.ToCharArray())
NetworkStream.Write(bufferstring, 0, bufferstring.Length)
strResult = stmReader.ReadLine() Debug.Print(strResult)
Me.pgbSingle.Value = 200 '控制进度条 strSend = "PASS " & Me.txtPwd.Text & vbCrLf
bufferstring = Encoding.GetEncoding("gb2312").GetBytes(strSend.ToCharArray())
NetworkStream.Write(bufferstring, 0, bufferstring.Length)
strResult = stmReader.ReadLine() Debug.Print(strResult)
Me.pgbSingle.Value = 400 '控制进度条 strSend = "STAT " & vbCrLf
bufferstring = Encoding.GetEncoding("gb2312").GetBytes(strSend.ToCharArray())
NetworkStream.Write(bufferstring, 0, bufferstring.Length)
strResult = stmReader.ReadLine() Debug.Print(strResult) Me.pgbSingle.Value = 600 '控制进度条 If strResult.IndexOf("-") = -1 Then
strSend = "LIST " & vbCrLf
bufferstring = Encoding.GetEncoding("gb2312").GetBytes(strSend.ToCharArray())
NetworkStream.Write(bufferstring, 0, bufferstring.Length) Me.pgbSingle.Value = 800 '控制进度条 Dim strInfo As String = ""
Dim str() As String Debug.Print(strResult)
strInfo = stmReader.ReadLine() If strInfo.IndexOf("-") <> -1 Then
MessageBox.Show("你输入的邮箱或密码有误,请重新输入!", "提示", _
MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) Me.ShowStep(-2)
Exit Sub
End If str = strInfo.Split(" ")
Me.lblMsg.Text = "你的邮件数量:" & str(1)
mintECount = str(1) Me.pgbSingle.Value = 1000 '控制进度条 MessageBox.Show(Me.txtName.Text.Trim & "@" & Me.cboLink.Text.Trim & "用户您好!!!", "提示", _
MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) Showinfo() Else
MessageBox.Show("你输入的邮箱或密码有误,请重新输入!", "提示", _
MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
Me.ShowStep(-2)
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Me.ShowStep(-2)
End Try End Sub
private static bool SendEmailBySMTP(string to, string subject, string body, string filePath)
{
bool result = true;
try
{
string userName = "[email protected]";
string pwd = "pwd";
string host = "smtp.gmail.com"; System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient(); smtpClient.Credentials = new System.Net.NetworkCredential(userName, pwd);
smtpClient.Host = host; //如果是gmail 则需要将EnableSsl设置为True,163则设置为False
smtpClient.EnableSsl = true; System.Net.Mail.MailMessage mailMsg = new System.Net.Mail.MailMessage(); mailMsg.Priority = System.Net.Mail.MailPriority.High;
mailMsg.From = new System.Net.Mail.MailAddress(userName); string[] addressTo = to.Split(';');
foreach (string add in addressTo)
{
if (add.Trim().Length > 0)
mailMsg.To.Add(new System.Net.Mail.MailAddress(add));
} mailMsg.Subject = subject;
mailMsg.Body = body; if (filePath.Length > 0 && File.Exists(filePath))
{
System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(filePath);
mailMsg.Attachments.Add(attachment);
//attachment = null; }
smtpClient.Send(mailMsg);
smtpClient = null; }
catch (Exception ex)
{
Console.WriteLine(ex.Message);
result = false;
} return result; }