关于ASP.NET中使用SMTP server发送邮件的IIS配置

关于ASP.NET中使用SMTP server发送邮件的IIS配置
2007年12月17日 星期一 09:46


1.
首先打开IIS,然后点击默认SMTP虚拟服务器左边的加号,然后右击域,新建域,选远程

,下一步,名称一栏中填(打个比方,你要朝aa@163.com中发邮件,那么这里的名称就

要填写163.com),然后点完成。接着右击你刚才填加的域,选择属性,在出现的对话

框中勾选允许将传入邮件中继到此域。这样就OK了。
2.说一下SMTP配置。
         (1)右键点击“SMTP虚拟服务器”选择“属性”->在“常规”选项卡中设置“IP地址(P)”,我设置的是192.168.1.100。
         (2)选择“访问”选项卡,点击“中继”,选上“仅以下列表”(默认是被选上的),点击“添加”,在“单台计算机”中加入192.168.1.100。
          提示,如果没有完成(2),则会出现大家常见的一种错误提示:服务器拒绝了一个或多个收件人地址。服务器响应为: 550 5.7.1 Unable to relay forscucj@126.com(友情提示一下:错误中的邮件地址有所不同)

3.发送邮件的问题 "与服务器的传输连接失败。"

IIS-------默认SMTP虚拟服务器---------属性-----------访问----------中继(按钮)-----选择最下面那个复选框
如果还不行,可以试试将自己的IP添加进上面那个允许中继栏里,然后将SmtpMail.SmtpServer改成相应的IP地址

启动了SMTP服务
SmtpMail.SmtpServer="mail.tellingtech.com"; 改ip看看   
//发送邮件
try
{
MailMessage aMessage = new MailMessage();
aMessage.From = Request.Form["ss_From"].ToString();
aMessage.To = Request.Form["ss_To"].ToString();
aMessage.Subject = Request.Form["ss_Subject"].ToString();
aMessage.Body = aSr.ReadToEnd();
aMessage.BodyFormat = MailFormat.Html;
SmtpMail.Send(aMessage);
Response.Redirect(Request.Form["ss_Redirect"].ToString());
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());//这句是刚才改的,不知道是否有错。
}

***************************************************************************
以上是好用的代码。注意IIS的Smtp必须打开,IP是合法的Internet地址。   

转载于:https://www.cnblogs.com/di305449473/archive/2008/05/22/1204604.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Asp.Net Core 使用 MailKit 发送邮件需要以下步骤: 1. 安装 MailKit:在 Visual Studio ,右键单击项目,选择“管理 NuGet 包”,搜索 MailKit 并安装。 2. 在 appsettings.json 文件配置 SMTP 服务器信息: ``` "SmtpSettings": { "Host": "smtp.example.com", "Port": 587, "Username": "your_username", "Password": "your_password" } ``` 3. 创建一个邮件服务类,例如: ``` using MailKit.Net.Smtp; using MailKit.Security; using Microsoft.Extensions.Options; using MimeKit; using System.Threading.Tasks; public class EmailService : IEmailService { private readonly SmtpSettings _smtpSettings; public EmailService(IOptions<SmtpSettings> smtpSettings) { _smtpSettings = smtpSettings.Value; } public async Task SendEmailAsync(string toEmail, string subject, string message) { var email = new MimeMessage(); email.From.Add(new MailboxAddress(_smtpSettings.SenderName, _smtpSettings.SenderEmail)); email.To.Add(new MailboxAddress(toEmail)); email.Subject = subject; var builder = new BodyBuilder(); builder.HtmlBody = message; email.Body = builder.ToMessageBody(); using (var smtp = new SmtpClient()) { await smtp.ConnectAsync(_smtpSettings.Host, _smtpSettings.Port, SecureSocketOptions.StartTls); await smtp.AuthenticateAsync(_smtpSettings.Username, _smtpSettings.Password); await smtp.SendAsync(email); await smtp.DisconnectAsync(true); } } } ``` 4. 在 Startup.cs 文件的 ConfigureServices 方法注册服务: ``` services.Configure<SmtpSettings>(Configuration.GetSection("SmtpSettings")); services.AddTransient<IEmailService, EmailService>(); ``` 5. 在需要发送邮件的地方注入 IEmailService 并调用 SendEmailAsync 方法即可发送邮件。 ``` public class HomeController : Controller { private readonly IEmailService _emailService; public HomeController(IEmailService emailService) { _emailService = emailService; } public IActionResult Index() { return View(); } public async Task<IActionResult> SendEmail(string email) { await _emailService.SendEmailAsync(email, "测试邮件", "这是一封测试邮件。"); return RedirectToAction("Index"); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值