Netcore使用MailKit进行邮件发送

public void TestSendMailDemo()
{
var message = new MimeKit.MimeMessage();
message.From.Add(new MimeKit.MailboxAddress("hotmail", "china-psu@hotmail.com"));
message.To.Add(new MimeKit.MailboxAddress("qq", "283775652@qq.com"));
message.Subject = "This is a Test Mail";
var plain = new MimeKit.TextPart("plain")
{
Text = @"不好意思,我在测试程序,Sorry!"
};
var html = new MimeKit.TextPart("html")
{
Text = @"<p>Hey geffzhang<br>
<p>不好意思,我在测试程序,Sorry!<br>
<p>-- Geffzhang<br>"
};
// create an image attachment for the file located at path
var path = "D:\\雄安.jpg";
var fs = File.OpenRead(path);
var attachment = new MimeKit.MimePart("image", "jpeg")
{

ContentObject = new MimeKit.ContentObject(fs, MimeKit.ContentEncoding.Default),
ContentDisposition = new MimeKit.ContentDisposition(MimeKit.ContentDisposition.Attachment),
ContentTransferEncoding = MimeKit.ContentEncoding.Base64,
FileName = Path.GetFileName(path)
};
var alternative = new MimeKit.Multipart("alternative");
alternative.Add(plain);
alternative.Add(html);
// now create the multipart/mixed container to hold the message text and the
// image attachment
var multipart = new MimeKit.Multipart("mixed");
multipart.Add(alternative);
multipart.Add(attachment);
message.Body = multipart;
using (var client = new MailKit.Net.Smtp.SmtpClient())
{
client.Connect("smtp.live.com", 587, false);

// Note: since we don't have an OAuth2 token, disable
// the XOAUTH2 authentication mechanism.
client.AuthenticationMechanisms.Remove("XOAUTH2");

// Note: only needed if the SMTP server requires authentication
var mailFromAccount = "china-psu@hotmail.com";
var mailPassword = "xxxxxxxxxxxxxxxxxxx";
client.Authenticate(mailFromAccount, mailPassword);

client.Send(message);
client.Disconnect(true);
}
fs.Dispose();
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NetCore是一个跨平台的开源框架,用于开发和运行各种应用程序。如果要在NetCore使用MQTT协议,可以按照以下步骤进行操作: 1. 添加MQTT NuGet包:在NetCore项目中,可以使用MQTT客户端库来实现与MQTT代理的通信。可以通过NuGet包管理器或在项目文件中手动添加以下NuGet包:Microsoft.Azure.Devices.Client。安装后,将能够在项目中使用MQTT客户端。 2. 创建MQTT客户端:使用MQTT客户端库创建一个MQTT客户端实例。在创建客户端实例时,需要指定MQTT代理的连接字符串和客户端ID。例如: ``` MqttClient mqttClient = new MqttClient(connectionString, clientId); ``` 3. 连接到MQTT代理:使用客户端实例连接到MQTT代理。需要通过调用Connect方法来连接。例如: ``` mqttClient.Connect(); ``` 4. 订阅主题:使用客户端实例订阅感兴趣的主题。通过调用Subscribe方法,并指定要订阅的主题,可以接收该主题下的消息。例如: ``` mqttClient.Subscribe(topic); ``` 5. 发布消息:使用客户端实例发布消息到特定的主题。通过调用Publish方法,并指定要发布的主题和消息内容,可以向指定的主题下发送消息。例如: ``` mqttClient.Publish(topic, message); ``` 6. 处理接收的消息:通过订阅特定的主题,可以接收到MQTT代理发布的消息。可以通过注册消息处理程序来处理接收到的消息。例如: ``` mqttClient.MqttMsgPublishReceived += MqttMsgReceived; ``` 在MqttMsgReceived方法中,可以处理接收到的消息。 以上是在NetCore使用MQTT协议的基本步骤。通过使用MQTT客户端库,可以方便地实现与MQTT代理的通信,并进行消息的订阅和发布。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值