jmail发送邮件的问题,做过邮件发送的高手请进!!分不够再加!

wangkun9999 2007-04-10 02:57:32
第一次用jmail邮件发送的程序,可是有几个问题想请教:
1.为什么要求发送方的邮件地址和服务器邮箱地址要求匹配?(就是说jmessage.From="aa@163.com"的时候SmtpServer必须设置成stmp.163.com才能发送成功?是机器设置原因还是jmail本身的限制)
说具体点,我是想实现这样的效果,不知道有没有办法:
http://abc365xyz.com/benzhan/tuijian.htm

2.有没有办法让收件人的地址隐含(匿名),好像有个jmessage.HideRecipients参数是字符型的,不知道怎么设置?

下面是我写的程序:

jmail.Message jmessage = new jmail.MessageClass();
jmessage.Charset="gb2312";
jmessage.From= "hengzhenews@hengzhe.com";
jmessage.FromName="应聘信息";
jmessage.ReplyTo=Sender;
jmessage.ContentType="text/html";
jmessage.Subject= Title;
jmessage.AddRecipient(Receiver,"aa","123");
jmessage.Body= Content;
jmessage.MailServerUserName= UserName;
jmessage.MailServerPassWord=Password;
try
{
  jmessage.Send(SmtpServer,false) ;
  jmessage.Close();
  return "邮件发送成功!";
}
  catch(Exception er)
{
   string fd = er.Message;
   return "邮件发送失败!";
}

...全文
397 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangkun9999 2007-04-11
  • 打赏
  • 举报
回复
果然是邮件服务器设置的原因,搞了两天,问题终于解决了,散分同时谢谢各位!!
wangkun9999 2007-04-10
  • 打赏
  • 举报
回复
是smtp服务器设置的原因吗,那就复杂了,不知道各位知不知道怎么样设置才能让发件人不受限制呢?再次感谢!!
fxqyyzg 2007-04-10
  • 打赏
  • 举报
回复
验证是和服务器设置有关

你把自己的服务器配置下smtp服务,发件人应该可以随便添了
fxqyyzg 2007-04-10
  • 打赏
  • 举报
回复
http://blog.csdn.net/lake2/archive/2006/08/30/1141902.aspx
蝶恋花雨 2007-04-10
  • 打赏
  • 举报
回复
我给你
经过测试没问题可以多发!

1.安装jmail4.3

2.找到jmail.dll(Program Files\Dimac\w3JMail4下)

3.执行Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin\ildasm.exe(可使用Visual Studio .Net 2003 命令提示),

格式如下:tlbimp c:\Program Files\Dimac\w3JMail4\jmail.dll /out:myJmail.dll /namespace:myJmail

就是我在Visual Studio .Net 2005命令提示下编译执行 tlbimp c:\Program Files\Dimac\w3JMail4\jmail.dll /out:myJmail.dll /namespace:myJmail
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Web.Mail;
using System.Web.Util;
using myJmail;

using Tool;
using Manager;
using Entity;

public partial class UserControls_Jmaill : System.Web.UI.UserControl
{
string strCurrentPath = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSend_Click(object sender, EventArgs e)
{
try
{
this.lblTitle.Text = "发送邮件控件";

myJmail.Message Jmail = new myJmail.Message();
DateTime t = DateTime.Now;
String Subject = this.txtTitle.Text;
String body = this.txtContent.Text;
string FromEmail = this.txtFormEmail.Text.Trim();//你的email
String ToEmail = this.txtToEmail.Text;//对方的email
String AddAttachment = this.FileUploadSubject.PostedFile.FileName;
//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";
ToEmail = ToEmail.Replace("\n", "").Replace(" ", "");
string[] str = ToEmail.Split(',');

for (int i = 0; i < str.Length; i++)
{
//添加收件人
Jmail.AddRecipient(str[i], "", "");

Jmail.From = FromEmail;
//发件人邮件用户名
Jmail.MailServerUserName = FromEmail;
//发件人邮件密码
Jmail.MailServerPassWord = "";//FromEmail邮箱的登陆密码
//设置邮件标题
Jmail.Subject = Subject;
//邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
Jmail.AddAttachment(AddAttachment, true, null);
//邮件内容
Jmail.Body = body + t.ToString();
//加密文件
//Jmail.PGPEncrypt = true;
//Jmail发送的方法
Jmail.Send("smtp.163.com", false);
Jmail.ClearAttachments();
Jmail.ClearRecipients();
}
Jmail.Close();
}
catch (Exception ex)
{
this.lblMessage.Text = ex.Message;
}
}

}


s_liangchao1s 2007-04-10
  • 打赏
  • 举报
回复
要是想让名字隐藏 可以用编码 将其编码 至于服务器一致性 是邮件的规定
wangkun9999 2007-04-10
  • 打赏
  • 举报
回复
谢谢!!我看下,如果实现了我给你加分
luck0235 2007-04-10
  • 打赏
  • 举报
回复
我一直用.net framework类库实现邮件发送,似乎也很稳定啊。

http://blog.csdn.net/luck0235/archive/2006/11/11/1379431.aspx
fxqyyzg 2007-04-10
  • 打赏
  • 举报
回复
http://study.chyangwa.com/IT/w3jmail/

---------
你先看一下这个,jmail的操作手册
fxqyyzg 2007-04-10
  • 打赏
  • 举报
回复
jmail应当有一个暗送的属性吧,.net 自带的里面是有的,你看一下参数
wangkun9999 2007-04-10
  • 打赏
  • 举报
回复
fxqyyzg(海冬青)(昨夜西风凋碧树。独上高楼,望尽天涯路)
http://abc365xyz.com/benzhan/tuijian.htm
那这样的程序是用什么实现的?
fxqyyzg 2007-04-10
  • 打赏
  • 举报
回复
1.为什么要求发送方的邮件地址和服务器邮箱地址要求匹配?(就是说jmessage.From="aa@163.com"的时候SmtpServer必须设置成stmp.163.com才能发送成功?
---------
因为要去你邮箱所在的服务器验证啊,你不设置万stmp.163.com.系统怎么知道去那里验证你的aa@163.com是不是存在呢
wangkun9999 2007-04-10
  • 打赏
  • 举报
回复
说白了也很简单,我是想实现jmessage.From和jmessage.ReplyTo的地址一致(SmtpServer是固定的,.From和.ReplyTo由用户填写),不知道有没有办法实现?
或者提供下别的组件也行,不一定要用jmail,net自带的那个没有.ReplyTo属性,不能指定回件人的地址

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧