询问者
asp.net发送邮件代码问题

常规讨论
-
如题,有如下代码:webconfig配置文件为:
<system.net>
<!--如果是第三方smtp服务器,需要指定userName 和 password,并根据host指定发件人邮件地址from
测试发现from值必须是userName值加上指定的smpt服务器才行,而且是必须指定的
如果是本机smtp服务器,只需指定defaultCredentials="true"即可-->
<mailSettings>
<smtp deliveryMethod="Network" from="0147@163.com">
<network host="smtp.163.com" port="25" userName="" password=""></network>
</smtp>
</mailSettings>
</system.net>
<connectionStrings/>
<system.web>后台代码为:
using (MailMessage message = new MailMessage())
{
message.To.Add(new MailAddress("531691887@qq.com")); //收件人邮箱
message.Subject = "缺纸提示";//邮件主题message.Body = string.Format("终端打印机缺纸qwqwqwqwqwqwqwqwqwqwqwqwqwqwq"); //邮件正文
SmtpClient mailClient = new SmtpClient();
mailClient.Send(message);
}这些代码如果我在VS里面调试的时候,可以向531691887@qq.com这个邮箱发送邮件。
当我把这个测试程序发布到IIS上面部署时,局域网内也可以向这个地址发送邮件,(这里局域网访问时要关闭防火墙。)
但是,当我部署到服务器上时,网页可以访问,但是,邮件不能发送出去!
请问,这和权限有关系吗?请各版主详细告知!
- 已编辑 一个落魄的程序员 2011年3月25日 7:42 删除无效代码
- 已更改类型 孟宪会Moderator 2011年3月26日 12:11
全部回复
-
好像你没有设置发送方的邮箱,即from;下面给一个例子给你,你可能就明白,我不想写太多字。
string to = "jane@contoso.com";
string from = "ben@contoso.com";
MailMessage message = new MailMessage(from, to);
message.Subject = "Using the new SMTP client.";
message.Body = @" you can send an e-mail message from an application very easily.";
SmtpClient client = new SmtpClient(server);client.UseDefaultCredentials = true;
client.Send(message);