在项目中使用JMail发送邮件
1.添加JMail组件:在vs的解决方案资源管理器中,右键添加引用,选择浏览,选择jmail.dll文件,在Bin文件夹中就可以看到添加的JMail组件.
2.注册JMail组件:开始-->运行-->输入如:regsvr32 D:\DotNet相关插件和脚本\jmail.dll
Regsvr32 解释:
这个命令行工具将 dll 文件注册为注册表中的命令组成。
语法
regsvr32 【/u】 【/s】 【/n】 【/i【:cmdline】】 dllname
参数
/u
未注册服务器。
/s
指定 regsvr32 安静运行,且不显示任何消息框。
/n
指定不调用 DllRegisterServer。此选项必须与 /i 共同使用。
/i:cmdline
调用 DllInstall 将它传递到可选的 【cmdline】。在与 /u 共同使用时,它调用 dll 卸载。
dllname
指定要注册的 dll 文件名。
/?
在命令提示符显示帮助。
完成1,2部操作后,我们来编写代码:
界面参考:
- //点击发送邮件
- protected void btnTranSmit_Click(object sender, EventArgs e)
- {
- try
- {
- //调用发送邮件的方法
- SendEmail(txtSender.Text, txtSenderName.Text, txtTransmitName.Text, txtTransmitPassword.Text, txtReceiver.Text, txtSubject.Text, txtContent.Text, txtServer.Text);
- }
- catch (Exception ex)
- {
- Response.Write(ex.Message);
- }
- }
- /// <summary>
- /// 使用Jmail发送邮件的方法
- /// </summary>
- /// <param name="sender">发件人邮箱</param>
- /// <param name="senderName">发件人姓名</param>
- /// <param name="TransmitName">发送邮件人的邮箱的登录名</param>
- /// <param name="TransmitPassWord">发送邮件人的邮箱密码</param>
- /// <param name="Receiver">收件人的地址</param>
- /// <param name="subject">邮件的主题</param>
- /// <param name="Content">邮件的内容</param>
- /// <param name="ServerHost">服务器的地址</param>
- private void SendEmail(String sender, String senderName, String TransmitName, String TransmitPassWord, String Receiver, String subject, String Content, String ServerHost)
- {
- //创建Jmail对象
- MessageClass jMessage = new MessageClass();
- //设置编码
- jMessage.Charset = "GB2312";
- //设置邮件头不使用ISO-8859-1的编码
- jMessage.ISOEncodeHeaders = false;
- //设置发送的邮件的邮箱地址
- jMessage.From = sender;
- //设置发件人姓名
- jMessage.FromName = senderName;
- //设置主题
- jMessage.Subject = subject;
- //设置发送邮件的邮箱或者邮件服务器登陆名
- jMessage.MailServerUserName = TransmitName;
- //设置发送邮件的邮箱或者邮件服务器密码
- jMessage.MailServerPassWord = TransmitPassWord;
- //添加接收邮件的邮箱地址
- jMessage.AddRecipient(Receiver, "", "");
- //设置发送邮件正文
- jMessage.Body = Content;
- //判断上传控件是否为空
- if (fluAttachMent.HasFile)
- {
- String fileName = fluAttachMent.PostedFile.FileName;
- //添加附件
- jMessage.AddAttachment(fileName, true, "");
- }
- //发送邮件
- if (jMessage.Send(ServerHost, false))
- {
- Response.Write("<script>alert('发送成功!');</script>");
- }
- else
- {
- Response.Write("<script>alert('发送失败!');</script>");
- }
- }