- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用发件人和收件人的公司电子邮件地址,通过我公司 Azure 订阅上托管的 Azure Functions 发送电子邮件。
是否可以使用如下所示的 SMTP 服务器:
var fromAddress = new MailAddress("from@myfirm", "From Name");
var toAddress = new MailAddress("to@myfirm", "To Name");
const string fromPassword = "from password";
string subject = "Subject";
string body = "Body";
var smtp = new SmtpClient
{
Host = "my company's smtp server",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
})
{
smtp.Send(message);
}
引用资料
https://learn.microsoft.com/en-in/azure/sendgrid-dotnet-how-to-send-email
How do i send email from Azure function app
更新:
如果使用专用 IP 地址用于使用 SMTP 发送电子邮件的 Azure 应用程序会怎样?这会消除这个问题吗?如果不是,还有哪些潜在问题?
最佳答案
更新:
Starting on November 15, 2017, outbound email messages that are sentdirectly to external domains (such as outlook.com and gmail.com) froma virtual machine (VM) are made available only to certain subscriptiontypes in Microsoft Azure. Outbound SMTP connections that use TCP port25 were blocked. (Port 25 is primarily used for unauthenticated emaildelivery.)
This change in behavior applies only to new subscriptions and newdeployments since November 15, 2017.
这是文档:
https://learn.microsoft.com/en-us/azure/virtual-network/troubleshoot-outbound-smtp-connectivity
Azure 建议使用第三方 SMTP 中继(例如 SendGrid)来发送电子邮件。
原始答案:
我不确定您现在使用的语言,所以我假设您使用的是 C#。
以下是如何在azure函数中使用SendGrid:
例如,如果您想从电子邮件 A 向电子邮件 B 发送电子邮件。
首先,安装包Microsoft.Azure.WebJobs.Extensions.SendGrid
。
转到sendgrid website ,创建发件人并验证电子邮件A:
之后,电子邮件 A 就可以通过 sendgrid 发送电子邮件了。
现在我们需要生成一个 SendGrid API key 并复制并存储 API key :(这将作为环境变量填充到 local.settings.json 的 Values 部分中以供读取。)
然后,您可以使用它来发送电子邮件
使用 SendGrid 绑定(bind):
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using SendGrid.Helpers.Mail;
namespace FunctionApp40
{
public static class Function1
{
[FunctionName("Function1")]
public static void Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
[SendGrid(ApiKey = "CustomSendGridKeyAppSettingName")] out SendGridMessage message,
ILogger log)
{
message = new SendGridMessage();
message.AddContent("text/plain","This is a test.");
message.SetFrom("<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="9ffaf2fef6f3dedffaf2fef6f3deb1fcf0f2" rel="noreferrer noopener nofollow">[email protected]</a>");
message.AddTo("<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c8ada5a9a1a48a88ada5a9a1a48ae6aba7a5" rel="noreferrer noopener nofollow">[email protected]</a>");
message.SetSubject("This is send from Function app.");
log.LogInformation("This is a test.");
}
}
}
local.settings.json:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"CustomSendGridKeyAppSettingName": "SG.XQ9uKeO3QCmNH7hA8qP8eA.xxxxxx"
}
}
在我这边工作得很好:
顺便说一句,这只能保证成功投递,因为有些邮箱拒绝接受通过sendgrid发送的邮件。在这种情况下,您仍然会得到200响应,但收件人不会收到邮件。(这种情况下,收件人需要到邮箱设置中解除相关限制。)
关于azure - 使用发件人和收件人的公司电子邮件地址通过我公司 Azure 订阅的 Azure Functions 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64973068/
有谁知道是否可以在 Azure Authenticator 应用程序中向帐户添加自定义图像?对于我们的所有帐户,它始终显示上传到 AAD 的用户照片或通用徽章图像 我们希望将我们公司的图像添加到帐户中
我正在将分离的实体传递给 persist: model。公司当我使用@OneToMany映射时。我尝试了不同的方法但结果相同。我添加了 @OneToMany 和 CascadeTypes Persis
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我正在尝试为多家公司生产的产品、他们的配件以及产品和配件与客户账户的关联设计一个数据库。 您将如何设计这样的数据库来实现此功能? 商业规则 一个产品总是与一个公司相关联,一个公司可以有很多产品。 除产
这更像是一个普遍问题,即哪个方向对公司来说是更好的投资。 我们公司的核心业务应用程序是用 Visual FoxPro 编写的,已有大约 9 年以上的历史。该数据库庞大,超过 15 GB,核心逻辑复杂,
我刚刚尝试创建一个安装在 Android 上的应用程序列表。我想这样做,以便在备份并将手机重置为出厂设置之前获得已安装的应用程序列表。 到目前为止一切顺利,我有以下信息: 包名 友好的名字 版本号/代
我有一个包含公司及其产品的数据库,我想要每个公司拥有单独的产品 ID 序列。 我知道postgresql做不到这个,唯一的办法就是每个公司都有一个单独的序列,但这很麻烦。 我想到了一个解决方案,用一个
我正在使用带有 m2e 的 Eclipse Indigo(它连接到 Maven 3.0.3 的外部二进制文件)。 现在,我的应用程序的预期结构如下: Company-parent --Project-
我有一个关于 Lucene/Solr 的问题。 我正在尝试解决一般(公司)名称匹配问题。 让我举一个过于简单的例子: 我们有两个(可能很大)名称列表,即 list_A 和 list_B。我们想找到两个
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在开发一些通过企业计划分发到公司 iPad 上的应用程序(因此我/公司可以完全控制它们)。在公司拥有的设备的上下文中,什么是“正确的”(如果有的话)识别运行应用程序的设备的方法? 按照此处的建议创
我的 SQL 数据库中有两个表: 公司: ID(自增) 姓名 地址 ... 员工: ID(自增) 公司编号 internal_id 姓名 姓氏 问题是我想要一个与他们所属的公司相关的员工 ID (in
在为用户获取公司列表时,它会为没有 Logo 的公司抛出 500 错误代码。 使用 logo-url 参数查询: curl "https://api.linkedin.com/v1/companies
如何在不访问的情况下获取 Liferay 中的全局(公司)组 ID ThemeDisplay ? P.S.:与 ThemeDisplay很简单:themeDisplay.getCompanyGroup
有人可以帮助我以最佳方式在流畅的 nHibernate 中映射以下情况吗? Address 类用于 Client 和 Company。如何在 SQL 中最有效地存储它?映射应该是什么样的?我已经考虑过
我是数据库设计新手,请给我一些建议。 1 When should I use a composite index? im not sure what does index does, but i do
我有一个为 A 公司完成的 Grails 应用程序。现在需要对 B 公司进行一些更改。 我不想复制整个项目,因为它会在以后产生问题(代码重复、硬管理、修复双方的错误等) 相反,我希望有一些公司特定的代
我正在考虑使用一个 image 表来存储任何其他独立表的图像,例如 user、product 等... (当然,独立表的任何单个实例(例如作为用户的John Smith,以及作为产品的笔记本电脑) )
我正在尝试为 Vuzix M300 智能眼镜开发应用程序。我已经通过 Android SDK Manager 安装了 Vuzix SDK。我已按照 Vuzix 文档中提到的所有步骤进行操作。我还将编译
我正准备将我的第一个 iOS 提交到应用商店。我目前正在权衡为我的开发者帐户创建 LLC 以提交到应用商店的利弊,而不是仅作为个人提交。 在以前的论坛帖子中,Apple 过去似乎需要更长的时间(数月)
我是一名优秀的程序员,十分优秀!