(六)电子邮件模块(使用JMail发送邮件,带附件)

 这个网址http://down.chinaz.com/server/201104/340_1.htm可以下载jmail组件以及说明了安装方法。

下载好后,需要在网站中引用该组件,方法是右击根网站目录,选择“添加引用”,搜索jmail,点击确定完成。在需要的页面引用Using jmail命名空间。

  MessageClass mymessage = new MessageClass();出现无法嵌入互操作类型 请改用适用的接口。

解决方法:选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为False。

jmail.aspx.cs代码

namespace email
{
    public partial class jmail : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
           MessageClass mymessage = new MessageClass();
           mymessage.Charset = "gb2312";  //设置邮件的编码格式为中文
           mymessage.From = "XXXX@163.com";//邮件的发送者的地址
           mymessage.FromName = "name";//发送邮件的用户名
           mymessage.Subject = TextBox2.Text;//邮件的主题
           mymessage.Body = TextBox3.Text;//邮件的内容
           mymessage.AddRecipientCC(TextBox4.Text);// 副本抄送  AddRecipientBCC隐藏的副本抄送,只有发件人和BCC收件人知道             string filename = Path.GetFileName(FileUpload1.FileName);//获得文件名和后缀
           FileUpload1.SaveAs(Server.MapPath("/sendatt/") + filename);//保存文件到本程序的文件夹下       
           mymessage.AddAttachment(Server.MapPath("/sendatt/") + filename, true, null);//添加附件.
          mymessage.MailServerUserName = "XXXX@163.com";//登录邮件服务器所需的用户名   

           mymessage.MailServerPassWord = "xxxx";//登录邮件服务器所需的密码
           mymessage.AddRecipient(TextBox1.Text); //接收邮件的地址
           mymessage.Send("smtp.163.com");//服务器                
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }           
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            TextBox1.Text = "";
            TextBox2.Text = "";
            TextBox3.Text = "";
        }
    }
}

这里代码一开始我运行出现了The message was undeliverable. All servers failed to receive the message的问题。我的这个跟防火墙什么的没关系,其实问题出在了mymessage.From = "XXXX@163.com";mymessage.MailServerUserName = "XXXX@163.com";mymessage.Send("smtp.163.com");

我使用的是smtp.163.com服务器发送邮件,那么MailServerUserName必须也是163的邮箱,然后From要跟MailServerUserName一样,不然也会报那个错误。使用jmail发送附件不能使用stream,好像是必须要把文件之类的上传到我们的程序文件夹下或者是知道具体的路径,然后才能发送发件。当然上传的文件太大了会报错,所以我们也需要改一下我们的配置文件

<system.webServer>
    <security>
      <requestFiltering >
        <requestLimits maxAllowedContentLength="1024000000" ></requestLimits>
      </requestFiltering>
    </security>
  </system.webServer>
 <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />

在使用Jmail组件发送电子邮件时,如果发送的邮件内容包括中文字符,则收件人的邮件内容将显示为乱码。可以添加以下代码解决乱码问题:

  mymessage.Charset="GB2312";//邮件的文字编码为国标

  mymessage.ContentType="text/html";//邮件的格式为HTML格式

发送附件的时候不要有JMail.ContentType = "text/html"

jmail.aspx

<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">
        <p>
            收件人地址:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        </p>
        <p>
            邮件主题:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        </p>
        <p>
            邮件内容:<asp:TextBox ID="TextBox3" runat="server" TextMode="MultiLine"></asp:TextBox>
        </p>
        抄送:<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
        <br />
        <br />
        附件:<asp:FileUpload ID="FileUpload1" runat="server" />
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="发送邮件" style="height: 21px" />
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="重新填写" />
    </form>
</body>
</html>

代码jmail https://github.com/1126048156/email.git  



已标记关键词 清除标记
相关推荐
<p> <strong><span style="font-size:20px;color:#FF0000;">本课程主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者</span></strong> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">1. 包含:<span style="color:#FFFF00;background-color:#FF0000;">项目源码、</span><span style="color:#FFFF00;background-color:#FF0000;">项目文档、数据库脚本、软件工具</span>等所有资料</span></strong></span> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">2. 手把手的你从零开始部署运行本套系统</span></strong></span> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">3. 该项目附的源码资料可作为毕设使用</span></strong></span> </p> <p> <span style="color:#FF0000;"><strong><span style="font-size:18px;">4. 提供技术答疑和远程协助指导</span></strong></span><strong><span style="font-size:18px;"></span></strong> </p> <p> <br /> </p> <p> <span style="font-size:18px;"><strong>项目运行截图:</strong></span> </p> <p> <strong><span style="font-size:18px;">1)系统登陆界面</span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241015433522.png" alt="" /><br /> </span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">2)学生模块</span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241015575966.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">3)教师模块</span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241016127898.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">4)系统管理员</span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241016281177.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><img src="https://img-bss.csdn.net/202002241016369884.png" alt="" /></span></strong> </p> <p> <strong><span style="font-size:18px;"><br /> </span></strong> </p> <p> <strong><span style="font-size:18px;"><strong><span style="font-size:18px;">更多Java毕设项目请关注我的毕设系列课程 <a href="https://edu.csdn.net/lecturer/2104">https://edu.csdn.net/lecturer/2104</a></span></strong></span></strong> </p> <p> <strong><span style="font-size:18px;"><br /> </span></strong> </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页