邮件系统-在线等

jianlin 2006-11-02 01:54:42
我们公司正在自己做一个网站,其中包括要建一个邮件系统,请教各位有经验的大虾应该如何下手,多谢了,希望大家帮帮忙,比较紧急!
...全文
473 30 打赏 收藏 举报
写回复
30 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lucyandqq 2007-04-25
  • 打赏
  • 举报
回复
学习
mengcai101 2007-04-04
  • 打赏
  • 举报
回复
楼上的大侠们!
小弟我现在在做毕业设计。课题是做一个电子邮件客户端软件,用C#写。
我的编程学得很烂!
恳请大家帮帮忙!
mengcai101@163.com
305793358(qq)
jianlin 2006-11-06
  • 打赏
  • 举报
回复
非常感谢Qim(莫名),我试试看,不过为了感谢你这些时间的辛苦,我先结贴了,以后有问题再发帖请教,多谢了!
wh110 2006-11-06
  • 打赏
  • 举报
回复
正在做这个,希望有点帮助
jianlin 2006-11-03
  • 打赏
  • 举报
回复
这只是发送呀,接收呢?发送我自己也基本会了,就是不知道接收、删除如何来做?
Qim 2006-11-03
  • 打赏
  • 举报
回复
要实现的功能基本可以实现。:)
Qim 2006-11-03
  • 打赏
  • 举报
回复
//添加 删除 附件
private void button2_Click(object sender, System.EventArgs e)
{

if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
bb=new MailAttachment(openFileDialog1.FileName,System.Web.Mail.MailEncoding.UUEncode);
aa.Attachments.Add(bb);}

}

private void button3_Click(object sender, System.EventArgs e)
{


aa.Attachments.Clear();

}
Qim 2006-11-03
  • 打赏
  • 举报
回复
using System.Web.Mail;//引用

// 主要代码:
private MailMessage aa;
private MailAttachment bb;

//发送
private void button1_Click(object sender, System.EventArgs e)
{
try
{
if(textBox1.Text!="")
{
aa.To=textBox1.Text;}
else{
MessageBox.Show("请输入收件人地址");
}

if(textBox2.Text!=""){
aa.Cc=textBox2.Text;}
if(textBox3.Text!=""){
aa.Bcc=textBox3.Text;}
if(textBox4.Text!="")
{
aa.From=textBox4.Text;}
else{MessageBox.Show("请输入发件人地址");}


aa.Subject=textBox5.Text;

aa.Body=richTextBox1.Text;
if(radioButton1.Checked)
{
aa.Priority=MailPriority.High;
}
else if(radioButton2.Checked)
{
aa.Priority=MailPriority.Low;
}
else if(radioButton3.Checked)
{
aa.Priority=MailPriority.Normal;
}
else{aa.Priority=MailPriority.Normal;}
SmtpMail.Send(aa);

}
catch(Exception ee){MessageBox.Show(ee.Message);}
}
jianlin 2006-11-03
  • 打赏
  • 举报
回复
to Qim(莫名):我想参考一下,如果可以发给我看看,那将无限感谢!hjlin21@21cn.com
Qim 2006-11-03
  • 打赏
  • 举报
回复
先看一下pop3协义,要用到里面的命令才能从服务器得到邮件数据。
应该没有太大的技术问题。有问题我再跟贴。
Qim 2006-11-03
  • 打赏
  • 举报
回复
我发一个以前做的小程序。只能检测邮件数。
建议楼主看一下pop3协议,再用结合我的程序。应该可以做出来的。

//用户名密码和服务器
private int intGetMail(string strHost,string strUser,string strPass)
{
const int nPort = 110;
string sReply;
int intCount = -1;

if(strHost =="" || strUser =="")
{
return -1;
}
TcpClient client = new TcpClient();
try
{

//连接服务器
client.Connect( strHost, nPort );
NetworkStream stream = client.GetStream();
sReply = ReadFromStream( stream ); //得到回复
CheckError( sReply );

//用户名
WriteToStream( stream, "USER " + strUser );
sReply=ReadFromStream( stream );
CheckError(sReply);

//口令
WriteToStream( stream, "PASS " + strPass );
sReply=ReadFromStream( stream );
CheckError(sReply);

//得到邮件数
WriteToStream( stream, "STAT " );
sReply=ReadFromStream( stream );
CheckError(sReply);
intCount = this.intGetMailCount(sReply);


//退出
WriteToStream( stream, "QUIT ");
sReply=ReadFromStream( stream );
CheckError(sReply);

stream.Close();
client.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return intCount;
}
private int intGetMailCount(string strMessage)
{
int intOKPos = strMessage.IndexOf("+OK");
int intMessagePos = strMessage.LastIndexOf(" ");
string strRes = strMessage.Substring(intOKPos + 3,intMessagePos - intOKPos -3);

return int.Parse(strRes.Trim());
}

private void WriteToStream( NetworkStream stream, string Command)
{
string stringToSend = Command + "\r\n";

Byte[] arrayToSend = Encoding.ASCII.GetBytes(stringToSend.ToCharArray());
stream.Write(arrayToSend, 0, arrayToSend.Length);
}

private String ReadFromStream( NetworkStream stream)
{
StringBuilder strReceived= new StringBuilder();
StreamReader sr= new StreamReader(stream);
string strLine = sr.ReadLine();

while(strLine==null || strLine.Length==0)
{
strLine = sr.ReadLine();
}
strReceived.Append(strLine);

if(sr.Peek()!=-1)
{
while ((strLine=sr.ReadLine())!=null)
{
strReceived.Append(strLine);
}
}
return strReceived.ToString();
}

private void CheckError(string strMessage)
{
if (strMessage.IndexOf("+OK") < 0 )
throw new Exception("ERROR - . Recieved: " + strMessage);
}
jianlin 2006-11-03
  • 打赏
  • 举报
回复
顶啊
gzhpie 2006-11-03
  • 打赏
  • 举报
回复
我也遇到同样的 问题 邮件服务器 就是配置不好 不可以对外发送邮件
Qim 2006-11-02
  • 打赏
  • 举报
回复
太简单了,不好意思发。
Qim 2006-11-02
  • 打赏
  • 举报
回复
我这里有一个邮件的客户端。
c#开发的。
不知楼主要吗?
jianlin 2006-11-02
  • 打赏
  • 举报
回复
都下班了吗?
jianlin 2006-11-02
  • 打赏
  • 举报
回复
jianlin 2006-11-02
  • 打赏
  • 举报
回复
mickeygg(流水有情),不是的,我们现在是想在自己的公司网站里能够接发邮件,然后为每个员工分配一个邮箱,等等这些功能,我对这个不是特别明白,希望你多给一些指点,本周内要做出设计来,谢谢了
mickeygg 2006-11-02
  • 打赏
  • 举报
回复
你如果只是想用个现成的邮件系统的话,我原来有使用过webeasymail,中国人开发的,安装配置简单方便,支持web邮件,你到网上搜索一下,可以找到破解版
jianlin 2006-11-02
  • 打赏
  • 举报
回复
怎么都不说话了,顶一下
加载更多回复(10)
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-11-02 01:54
社区公告

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

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