我正在嘗試使用SmtpMail發送電子郵件。在我的本地服務器上,即使代碼具有主機/服務器,密碼和來自代碼中設置的信息,我也可以執行此操作。在我的託管服務(1and1)上它只會發送,如果我在web.config文件中設置這些東西!有誰知道什麼可能會導致此(1and1不知道)。爲什麼SmtpMail不能發送,除非從/ web.config中設置/ host?
本地工作,但不是在託管servcie
<%@ Page language="c#" %>
<%@ Import namespace="System.Net.Mail" %>
<%
MailMessage mail = new MailMessage();
//Set my from address
mail.From = new MailAddress("[email protected]");
//Who I'm sending to
mail.To.Add(new MailAddress("[email protected]"));
mail.Subject = "A test";
mail.Body = "Test message";
//Set the mail server (default should be smtp.1and1.com)
SmtpClient smtp = new SmtpClient("smtp.1and1.com");
//Enter your full e-mail address and password
smtp.Credentials = new NetworkCredential("[email protected]", "mypassword");
//Send the message
smtp.Send(mail);
%>
這是怎麼了我得到它的工作在託管(兩個文件,測試頁和web.config中)
<%@ Page language="c#" %>
<%@ Import namespace="System.Net.Mail" %>
<%
MailMessage mail = new MailMessage();
//Set my from address
mail.From = new MailAddress("[email protected]");
//Who I'm sending to
mail.To.Add(new MailAddress("[email protected]"));
mail.Subject = "A test";
mail.Body = "Test message";
//Create with no server or credentials (grabs from web.config)
SmtpClient smtp = new SmtpClient();
//Send the message
smtp.Send(mail);
%>
(和web.config)
<configuration>
<system.net>
<mailSettings>
<smtp from="[email protected]">
<network host="smtp.1and1.com" port="25" userName="[email protected]" password="mypassword"/>
</smtp>
</mailSettings>
</system.net>
</configuration>
當你沒有在web.config中設置它會發生什麼?我假設你得到一個錯誤,錯誤是什麼? – CodingGorilla
@CodingGorilla是的,我根據瀏覽器得到不同的東西。在Firefox中,它要求我下載「test.aspx」文件,但表示它是0字節。在IE中它說有一個超時錯誤。 –
如果系統提示您下載文件,那麼服務器返回錯誤的內容類型,這並沒有任何意義。無論哪種情況,您都不會看到任何錯誤消息? – CodingGorilla