先上代码
var scopes = new[] { "https://graph.microsoft.com/.default" };
var tenantId = tenant_Id; //创建应用程序的APPID
var clientId = client_Id;// 租户ID
var clientSecret = client_Secret; //客户端秘钥 (刚创建密码的时候会显示,离开页面会隐藏)
//引用Azure.Identity
var options = new TokenCredentialOptions
{
AuthorityHost = AzureAuthorityHosts.AzurePublicCloud
};
var clientSecretCredential = new ClientSecretCredential(
tenantId, clientId, clientSecret, options);
//引用 Microsoft.Graph
GraphServiceClient graphClient = new
GraphServiceClient(clientSecretCredential, scopes);
//用自带的对象发送邮件
Microsoft.Graph.Message Mgmessage = new Microsoft.Graph.Message();
//标题
Mgmessage.Subject = emailMessage.Subject;
//邮件内容类型
Mgmessage.Body.ContentType = Microsoft.Graph.BodyType.Html;
//邮件内容
Mgmessage.Body.Content = Body.Text;
// 邮件的收件人。。
Mgmessage.ToRecipients = toRecipients;
//邮件的抄送收件人。
Mgmessage.CcRecipients = ccRecipients2;
// 邮件的密件抄送收件人。
Mgmessage.BccRecipients = bccRecipients3;
//是否存在附件
Mgmessage.HasAttachments = filef;
//附件
Mgmessage.Attachments = attachments;
await graphClient.Users[users_Email].//["1234.@163.com"]
SendMail(Mgmessage,false).Request().PostAsync();
graphClient,有两种发送方式me 和Users ,无用户交互的需要用USers方式文章来源:https://www.toymoban.com/news/detail-603526.html
users_Email 应该是应用程序所在的组织的账号,因为要通过组织的账号发邮件,因为这个users_Email卡了很久,拿过APPID和租户ID还有其他能试的都试过,都发不出去,然后根据客户发来的邮箱试了一下文章来源地址https://www.toymoban.com/news/detail-603526.html
到了这里,关于Microsoft.Graph 使用(Oauth 2.0)客户端凭据流发送邮件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!