使用iis虛擬smtp服務器發送郵件的例子, 信件發不出去


使用iis虛擬smtp服務器發送郵件的例子,參照書上寫的,程序運行沒有出錯,但所有的郵件都到了死信目錄,不知怎么辦,是否是iis的設置有問題,請教各位!程序主要部分如下:
                           MailMessage myMessage;
myMessage.To="hujiiori@163.com";
myMessage.From="my application";
myMessage.Subject="hello";
myMessage.Body=richTextBox1.Text; myMessage.Priority=MailPriority.High;
SmtpMail.SmtpServer="localhost";          SmtpMail.Send(myMessage);                   MessageBox.Show("發送成功");     


12 个解决方案

#1


正在困擾中

#2


關注

#3


http://blog.csdn.net/goody9807/articles/30551.aspx

#4


see

4.4.7 All of my emails are ending up in the /badmail directory
http://www.systemwebmail.com/faq/4.4.7.aspx

#5


我也想知道

#6


這個程序好像是用ASP寫的,而不了ASP.Net寫的啊.
要是是用ASP寫的,那么你看看你的IIS有沒有裝JMAIL之類的發送郵件組件.
如果我看錯了,是用ASP.Net寫得的話,你看看你的smtp server有沒有開啟和正確設置.
偶是菜鳥,不知道對不對.試試吧.好了在這里告訴我們為什么.

#7


注意以下幾點:
(1)SMTP服務是否將127.0.0.1設為允許中繼
(2)ASPNET帳戶是否有訪問System32的權限(注意磁盤是NTFS格式)

#8


這個程序不是asp.net,而是一個用c#寫的window應用程序,用起來應該跟asp.net一樣的吧
 現在問題好像出在myMessage的From屬性上,試了幾種情況:
1.      
  myMessage.From="myapplication"//程序正常執行,信件不進死信目錄,但收件地址沒收到信件
2.myMessage.From="my application";//不能執行完,提示無法訪問cdo.message對象,難道不能加空格?
3.myMessage.From="hujiiori@hotmail.com";//胡亂寫個地址,能執行,信件進死信目錄,死信文件上寫:
Unable to deliver this message because the follow error was encountered: "This message is a delivery status notification that cannot be delivered.".

The specific error code was 0xC00402C7.
The message sender was <>.
The message was intended for the following recipients.
hujiiori@163.com
iis的設置我看了,應該沒什么問題啊,難道是windows應用程序而不是asp.net的關系?

#9


多謝各位支持!在線等!

#10


用IIS的smtp不好!
有時一樣的代碼,在這台上用好用,換了就不行!

你試試別的方法,如Jmail,使用起來很簡單!

#11


Jmail
發送郵件!
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace Email
{
/// <summary>
/// WebForm1 的摘要說明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox to;
protected System.Web.UI.WebControls.TextBox from;
protected System.Web.UI.WebControls.TextBox sub;
protected System.Web.UI.WebControls.TextBox body;
protected System.Web.UI.WebControls.TextBox txtname;
protected System.Web.UI.WebControls.TextBox txtpwd;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置用戶代碼以初始化頁面

}

#region Web 窗體設計器生成的代碼
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void InitializeComponent()
{    
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void Button1_Click(object sender, System.EventArgs e)
{
email.MailServerUserName = "listhome";
email.MailServerPassWord = "密碼";
email.From = from.Text;
email.Subject = sub.Text;
email.Body =body.Text;
email.Send("smtp.163.com", false);

}
}
以上代碼在我的機器發送成功,
使用時請添加引用,

#12


To listhome(該用戶名字已馬賽克處理) :
 謝謝你的代碼,
 Jmail我不大懂,你的代碼里的email是哪個類的對象啊?

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com