我用CreateUserWizard控件做了一个注册页面,新建用户和发送邮件都正常。就是发送出来的邮件里面的中文都是乱码。
我试改了文件的保存方式,用gb2312和utf8,也行不。
邮件内容用TXT和HTML两种格式也试了,还是一样,主体用<% UserName %>引用的用户名,如果是中文,在收到的邮件里也是乱码。
看来和邮件保存时的编码没有关系。
难道是发送邮件类的问题?
那位老师会麻烦告诉我下啊
先谢谢拉。
我用的是(VS2005 中文专业版)邮件发送服务器和接收邮箱都换过试了,不行。
web.config<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings/>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="Login.aspx" />
</authentication>
</system.web>
<system.net>
<mailSettings>
<smtp deliveryMethod="network">
<network host="****" port="25" userName="*****" password="*****" />
</smtp>
</mailSettings>
</system.net>
</configuration>
////////////////////////////////////////////////////////////////////////////////////////
PasswordRecovery.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PasswordRecovery.aspx.cs"
Inherits="PasswordRecovery" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>示例16-1</title>
<link id="InstanceStyle" href="StyleSheet.css" type="text/css" rel="stylesheet" />
</head>
<body>
<form id="form1" runat="server">
<div>
<fieldset style="width: 230px">
<legend class="mainTitle">重置密码</legend>
<asp:PasswordRecovery ID="PasswordRecovery1" runat="server" BackColor="#F7F7DE" BorderColor="#CCCC99"
BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="10pt">
<MailDefinition Subject="mima" From="****" BodyFileName="~/mima.txt">
</MailDefinition>
<TitleTextStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
</asp:PasswordRecovery>
</fieldset>
</div>
</form>
</body>
</html>//////////////////////////////////////////////////////////////////////////////////
mima.txt您已经选择重置用户密码。当前,您的用户名是: <% UserName %>,密码是: <% Password %>
我试改了文件的保存方式,用gb2312和utf8,也行不。
邮件内容用TXT和HTML两种格式也试了,还是一样,主体用<% UserName %>引用的用户名,如果是中文,在收到的邮件里也是乱码。
看来和邮件保存时的编码没有关系。
难道是发送邮件类的问题?
那位老师会麻烦告诉我下啊
先谢谢拉。
我用的是(VS2005 中文专业版)邮件发送服务器和接收邮箱都换过试了,不行。
web.config<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings/>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="Login.aspx" />
</authentication>
</system.web>
<system.net>
<mailSettings>
<smtp deliveryMethod="network">
<network host="****" port="25" userName="*****" password="*****" />
</smtp>
</mailSettings>
</system.net>
</configuration>
////////////////////////////////////////////////////////////////////////////////////////
PasswordRecovery.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PasswordRecovery.aspx.cs"
Inherits="PasswordRecovery" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>示例16-1</title>
<link id="InstanceStyle" href="StyleSheet.css" type="text/css" rel="stylesheet" />
</head>
<body>
<form id="form1" runat="server">
<div>
<fieldset style="width: 230px">
<legend class="mainTitle">重置密码</legend>
<asp:PasswordRecovery ID="PasswordRecovery1" runat="server" BackColor="#F7F7DE" BorderColor="#CCCC99"
BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="10pt">
<MailDefinition Subject="mima" From="****" BodyFileName="~/mima.txt">
</MailDefinition>
<TitleTextStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
</asp:PasswordRecovery>
</fieldset>
</div>
</form>
</body>
</html>//////////////////////////////////////////////////////////////////////////////////
mima.txt您已经选择重置用户密码。当前,您的用户名是: <% UserName %>,密码是: <% Password %>
解决方案 »
- 求帮忙
- 使用VS开发的网站,自己用于商业是免费的吗?
- asp.net怎么部署在iis里,我安装的是winxp,不能分配帐户和权限给网站,怎么办
- 怎么处理VS2005调试其它软件的问题?
- 求救,在框架网页中,当顶部的菜单变动时,怎么使左边的树结构和右边的内容连动呀?
- ________想做个类似新闻发布的应用程序,请教各位前辈!谢谢!
- 高手帮忙看一下这个select语句奇怪的问题。
- 开发asp.net程序用什么软件
- 关于datalist分页代码的问题
- asp.net 程序 sql server 不存在或拒绝访问,怎么办?
- asp.net新新新新手请教问题,怎么打开例子代码执行?还有请推荐入门好书
- 关于网页背景图片分割
是不是可以考虑用SendingMail事件,在其中用自己的代码发邮件?至少我们可以控制邮件的编码。而MailDefinition只有那么几项可以设置,出了问题都不知道找哪儿。我还没有试过,这样应该可以吧
using System.Net.Mail;... MailMessage MailMsg = new MailMessage();//设置MAIL其他的一些属性
MailMsg.SubjectEncoding = Encoding.GetEncoding("GB2312");
MailMsg.BodyEncoding = Encoding.GetEncoding("GB2312");
MailMsg.IsBodyHtml = true;
MailMsg.Priority = MailPriority.Normal;
代码和大家分享一下
邮件发送函数:
Sub SendSMTPEMail(ByVal strSmtpServer As String, ByVal strFrom As String, ByVal strFromPass As String, ByVal strto As String, ByVal strSubject As String, ByVal strBody As String)
Dim clint As System.Net.Mail.SmtpClient = New SmtpClient(strSmtpServer)
clint.UseDefaultCredentials = False
clint.Credentials = New System.Net.NetworkCredential(strFrom, strFromPass)
clint.DeliveryMethod = SmtpDeliveryMethod.Network
Dim message As System.Net.Mail.MailMessage = New MailMessage(strFrom, strto, strSubject, strBody)
message.SubjectEncoding = Encoding.GetEncoding("GB2312")
message.BodyEncoding = Encoding.GetEncoding("GB2312")
message.IsBodyHtml = True
message.Priority = MailPriority.Normal
message.IsBodyHtml = True
clint.Send(message)
End Sub
调用方法:
SendSMTPEMail("发件服务器", "发件箱地址", "密码", "收件箱地址", "这是标题", "这是内容")