誰かが助けてくれることを願っています。 Azureアカウントからメールを送信したい。私のドメイン名は、Azureで動作するように構成されています。
Azureアカウントからメールを送信する方法をWebで簡単に見つけることができませんでした。 SendGridについてはいくつか言及されていましたが、私のアカウントではサポートされていないようです。
AzureでホストされているWebサイトから電子メールを送信する方法を教えてください。
これは古い投稿であることは知っていますが、Azureにサインアップしたばかりで、SendGridを介して月に25,000通のメールを無料で受け取ります。これらの指示は素晴らしく、数分で稼働しました。
Azureのお客様は、毎月25,000件の無料メールをロック解除できます。
サードパーティのSMTPからの送信は、Azureによって制限されたり、Azureに固有のものではありません。 System.Net.Mailを使用して、メッセージを作成し、SMTPクライアントを構成し、電子メールを送信します。
// create the message
var msg = new MailMessage();
msg.From = new MailAddress("[email protected]");
msg.To.Add(strTo);
msg.Subject = strSubject;
msg.IsBodyHtml = true;
msg.Body = strMessage;
// configure the smtp server
var smtp = new SmtpClient("YourSMTPServer");
var = new System.Net.NetworkCredential("YourSMTPServerUserName", "YourSMTPServerPassword");
// send the message
smtp.Send(msg);
いくつかのESP代替案を探している場合は、 Mailjet for Microsoft Azure もご覧ください!グローバルな電子メールサービスおよびインフラストラクチャプロバイダーとして、開発者と電子メール所有者の両方のために、単一のプラットフォームからAPI、SMTPリレー、またはUIを介してすべてのトランザクション電子メールとマーケティング電子メールを送信、配信、追跡します。
免責事項:私はMailjetで開発者エバンジェリストとして働いています。
「Office 365アカウントをお持ちの場合」これを実現する良い方法は、 Azure Logicアプリと統合されたOffice 365 Outlookコネクター を使用することです
これが誰かを助けることを願っています!
SendGridクライアントライブラリではなく組み込みの.NET SmtpClientを使用したい場合(それがOPの意図であるかどうかはわかりません)、ユーザー名としてapikey
を使用しない限り、動作しません。 here に記載されているように、パスワードとしてのAPIキー自体。
<mailSettings>
<smtp>
<network Host="smtp.sendgrid.net" port="587" userName="apikey" password="<your key goes here>" />
</smtp>
</mailSettings>
SendGridはお勧めしません。私は彼らの無料アカウントの申し出を受けて、1通もメールを送信することができませんでした。ブロックされた理由を尋ねると、無料のアカウントはIPアドレスを共有し、スパムを送信してそのIPを悪用するアカウントがある場合、共有IPアドレスのすべてのユーザーがブロックされる-完全に役に立たないことを教えてくれました。また、それらを使用する場合-誰でもそこからキーを読み取り(クローラーを使用)、有料アカウントを使用してバルクメールを送信できるため、Gitパブリックリポジトリにメールキーを保存しないでください。
Azure Webサイトで確実に使用してきた無料のメールサービスは、Gmail(Googleメール)アカウントを使用することです。そのアカウントには、アプリケーションで使用するオプションがあります。有効にすると、Azure Webサイトからメールを送信できます。サンプル送信コードを使用するポート(587)として貼り付けるのは明らかではありません。
public static void SendMail(MailMessage Message)
{
SmtpClient client = new SmtpClient();
client.Host = EnvironmentSecret.Instance.SmtpHost; // smtp.googlemail.com
client.Port = 587;
client.UseDefaultCredentials = false;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.Credentials = new NetworkCredential(
EnvironmentSecret.Instance.NetworkCredentialUserName,
EnvironmentSecret.Instance.NetworkCredentialPassword);
client.Send(Message);
}