c# - SMTP 服务器未从 C# 代码获取凭据
问题描述
我正在尝试设置自动电子邮件发件人。
我的 smtp 服务器需要身份验证。我没有使用 ssl,但我仍然从服务器收到以下响应:
服务器响应为: 5.7.1 您未获得授权,需要身份验证。
如果我在服务器上检查它得到一个空的用户名。
这是我的代码:
public void email_send(string mailadress,string docname)
{
string host = "myhost";
string username = "user";
string password = "password";
int port = 625;
var nc = new NetworkCredential(username, password);
var auth = nc.GetCredential(host,port,"Basic");
using (var mail = new MailMessage())
using (var SmtpServer = new SmtpClient())
{
SmtpServer.Host = host;
SmtpServer.Port = port;
SmtpServer.Credentials = auth;
mail.From = new MailAddress("fromadress");
mail.To.Add(mailadress);
mail.Subject = "Subject";
mail.Body = "Body";
Attachment attachment;
attachment = new Attachment("D:/" + docname + ".pdf");
mail.Attachments.Add(attachment);
mail.IsBodyHtml = true;
SmtpServer.DeliveryFormat = SmtpDeliveryFormat.International;
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
SmtpServer.Send(mail);
}
}
解决方案
推荐阅读
- owl - 将本地数据文件导入本体
- java - kotlin 如何使用排序键将 JSONObject 或 Map 序列化为字符串?
- query-optimization - 页面加载速度非常慢,重复查询此视图在 Ruby 中
- c++ - C++ 跳过登录对话框
- redis - 如何执行多哈希 redis 查询
- javascript - 如何解决总是从ajax循环选择选项值
- selenium - Selenium XPath:如何获取使用属性的 href 值
- discord.py - Discord 机器人响应不适合该机器人的 ping
- mysql - 用于从数字列中提取范围的 SQL 查询
- go - go type-switch 如何处理指向 nil