前些日子给一家公司写了门户网站,要求做一个可以直接发送邮件的网页程序,遂想到asp.net2.0提供这个功能,试了一下爱比较好用,拿出来和大家 分析一下
开发平台:
windows xp
visual web develop 2005 edit
.net2.0
后台代码贴出来:
'导入命名空间
Imports System.Net.Mail
Partial Class Mail
Inherits System.Web.UI.Page
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles MailSend.Click
Dim GMailmessage As New MailMessage(Me.MailFrom.Text, Me.MailTo.Text) '新建邮件
GMailmessage.Subject = Me.MailSubject.Text '标题
GMailmessage.Priority = MailPriority.High '邮件优先级
GMailmessage.IsBodyHtml = True
GMailmessage.Body = Me.MailContext.Text
GMailmessage.BodyEncoding = System.Text.Encoding.Default
GMailmessage.Attachments.Add(New Attachment(MailAttachment.PostedFile.InputStream, MailAttachment.FileName))
Dim emailparts() As String
Dim user As String
Dim provider As String
emailparts = Me.MailFrom.Text.Split("@".ToCharArray, 2) '分离邮件得出邮件名和stmp服务器名称
user = emailparts(0)
provider = emailparts(1)
Dim emailClient As New SmtpClient("smtp." + provider)
emailClient.Port = 25
emailClient.DeliveryMethod = SmtpDeliveryMethod.Network
emailClient.Timeout = 100000
emailClient.Credentials = New System.Net.NetworkCredential(Me.MailFrom.Text, Me.PassWord.Text)
' If Me.CheckBox1.Checked = True Then '看是否采用ssl128位安全链接加密
' emailClient.EnableSsl = True
' End If
Try
emailClient.Send(GMailmessage)
Response.Write("<script>alert('发信成功,请等待经理回复!')</script>")
Catch ex As Exception
Response.Write("<script>alert('错误信息如下:" + ex.Message + "!')</script>")
End Try
End Sub
End Class
上述代码经过新浪邮箱测试是成功的,但163会发送错误,我还没来得急分析原因。
如何改进:
现在微软的Ajax技术已经出现,大家可以采用一下,可以实现邮件草稿的自动保存,实现无刷新境界。
具体的就是添加一个无刷新的panl控件,和timer控件,非常容易,这里就不说了
发表于 @ 2007年04月21日 21:32:00|评论(loading...)|编辑