Jamil+c#—实现邮件的发送

   

   引言

   最近在项目中有了这么一个需求,在系统中需要给客户发送邮件,当小编接到这个任务的时候感觉不知道从什


么地方下手,在以前的学习中也实现过发邮件的功能,但是那是利用的outlook来实现,效果非常的不好,所以这次


打算利用一些主流的邮箱来实现,像163、126等邮箱!在实现的过程中有很多的方法,但是小编认为比较简单并且比


较靠谱的方法就是利用Jamil插件来实现,下面小编就来和大家分享一下实现过程。


   一、下载JMail44_pro.exe插件,此插件已经上传到csdn大家可以自行下载,下载地址如下:


     http://download.csdn.net/detail/u013045437/9270547


   二、安装此插件,并且在安装路径下面找到jamil.dll文件,添加到项目的引用中


                  


   三、在项目中引用jmail,即:using jmail;


   四、代码编写如下


  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using jmail;
using System.IO;
namespace JmailFasong
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
           
            jmail.MessageClass Jmail = new jmail.MessageClass();
            DateTime t = DateTime.Now;
            String Subject = this.txtSubject.Text;
            String Body = this.txtBody.Text;
            String FromEmail = this.txtFromEmail.Text;
            String ToEmail = this.txtToEmail.Text;
            //Silent属性:如果设置为true,JMail不会抛出例外错误.
            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.MailServerUserName = this.txtUserName.Text;
            //发件人邮件密码
            Jmail.MailServerPassWord = this.txtPassword.Text;
            //设置邮件标题
            Jmail.Subject = Subject;

            邮件添加附件(增加附件可再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);就可以搞定了。
            增加附件后要把上面的Jmail.ContentType="text/html";删掉,否则会在邮件里出现乱码。
            Jmail.AddAttachment(FileUpload1.PostedFile.FileName, true, null);

            //邮件内容
            Jmail.Body = Body;
            //设置SMTP服务器
            Jmail.Send("smtp.163.com", false);
            //关闭Jmail连接
            Jmail.Close();

            Response.Write("发送成功");
        }

        
    }
}

   前台页面代码(非常的简单)


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="JmailFasong.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        发件人邮箱:<asp:TextBox ID="txtFromEmail" runat="server"></asp:TextBox>
    用户名:<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
        密码:<asp:TextBox ID="txtPassword" runat="server"></asp:TextBox>
        收件人地址:<asp:TextBox ID="txtToEmail" runat="server"></asp:TextBox>
        邮件主题:<asp:TextBox ID="txtSubject" runat="server"></asp:TextBox>
        邮件内容:<asp:TextBox ID="txtBody" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        <asp:FileUpload ID="FileUpload1" runat="server" />

    </div>
    </form>
</body>
</html>


   五、常见错误解决方案


   在做完上面的工作以后会发现,程序在运行的时候出现如下错误:


        


   解决方法如下:


   在我们刚刚引入的jmail.dll文件上面右击——选择属性——将嵌入互操作类型改为true;

  

                 


   在本文的实例代码已经上传到csdn上面了,所以如果读者想要源码可以直接再csdn上面下载,资源地址如下:


  http://download.csdn.net/detail/u013045437/9271287


   小结

  
   当初接到这个任务的时候也是比较头疼的,感觉无从下手,但是当我们静下心来查查资料慢慢的就会有一些思

路,然后不断的优化搜索关键字,就会有更多的思路来解决问题,慢慢的调试我们程序中的错误,就会接近成功。在

刚开始的时候从发邮件入手,用了很多的代码实现了这个发邮件的功能,但是不能实现收邮件的功能,没有办法啊,

继续查资料,然后就找到了这个jmail插件,就用了一个更为简单的方法实现了这个功能。

   在下一篇博客中将分享收邮件的功能! 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 29
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

g-Jack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值