Jak použít Office 365 pro posílání e-mailů?
Pokud používáte Office 365 a Exchange Online, můžete jej velmi jednoduše využít ve své aplikaci (ať už na webu, desktopu nebo mobilním zařízení) pro posílání e-mailů. Office 365 vystavuje SMTP server, ke kterému je potřeba se přihlásit existujícím uživatelským jménem Office 365 a poté můžete tímto jménem rozesílat e-maily. Díky tomu, že schránka opravdu existuje, mohou na tyto zprávy příjemci (zákazníci, uživatelé…) i odpovídat.
Základem je vložit do konfigurace aplikace (tedy souboru App.config nebo Web.config tento kód:
<system.net>
<mailSettings>
<smtp>
<network defaultCredentials="false" enableSsl="true"
host="smtp.office365.com" port="587"
userName="info@mojefirma.onmicrosoft.com" password="<heslo>" />
</smtp>
</mailSettings>
</system.net>
Jedná se o standardní konfiguraci odesílání e-mailů z aplikace, která používá jako server smtp.office365.com na portu 587.
V C# pak vytvoříme a odešleme e-mailovou zprávu takto:
MailAddress to = newMailAddress("prijemce@domena.cz");
MailAddress from = newMailAddress("info@mojefirma.onmicrsoft.com");
MailMessage message = newMailMessage(from, to);
message.Subject = "Test send";
message.Body = "Zpráva";
SmtpClient client = newSmtpClient();
try
{
client.Send(message);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
MailAddress a SmtpClient jsou součástí jmenného prostoru System.Net.Mail.)
Adresa serveru a přihlašovací údaje se načtou automaticky z konfigurace. Adresa odesílatele "From" musí odpovídat přihlášenému uživateli. Pokud bychom chtěli posílat maily z jiné adresy, musíme ji v administraci Exchange Online přidat jako Send As:
- Přihláste se jako administrátor na https://portal.microsoftonline.com.
- V menu Admin zvolte Exchange.
- V levé nabídce vyberte "recipients".
- Dvojklikem vyberte uživatele, kterého chcete mít jako odesílatele.
- V levé nabídce vyberte "mailbox delegation".
- Tlačítkem "+" zvolte uživatele, který se používá pro přihlášení k SMTP (v konfiguraci).
Martin