diff --git a/backend/src/services/smtp.ts b/backend/src/services/smtp.ts
index 4bd58020b..b067d499a 100644
--- a/backend/src/services/smtp.ts
+++ b/backend/src/services/smtp.ts
@@ -2,9 +2,10 @@ import nodemailer from "nodemailer";
import {
SMTP_HOST_GMAIL,
SMTP_HOST_MAILGUN,
+ SMTP_HOST_OFFICE365,
SMTP_HOST_SENDGRID,
SMTP_HOST_SOCKETLABS,
- SMTP_HOST_ZOHOMAIL,
+ SMTP_HOST_ZOHOMAIL
} from "../variables";
import SMTPConnection from "nodemailer/lib/smtp-connection";
import * as Sentry from "@sentry/node";
@@ -15,6 +16,7 @@ import {
getSmtpSecure,
getSmtpUsername,
} from "../config";
+import { getLogger } from "../utils/logger";
export const initSmtp = async () => {
const mailOpts: SMTPConnection.Options = {
@@ -58,6 +60,12 @@ export const initSmtp = async () => {
ciphers: "TLSv1.2",
}
break;
+ case SMTP_HOST_OFFICE365:
+ mailOpts.requireTLS = true;
+ mailOpts.tls = {
+ ciphers: "TLSv1.2"
+ }
+ break;
default:
if ((await getSmtpHost()).includes("amazonaws.com")) {
mailOpts.tls = {
@@ -73,10 +81,12 @@ export const initSmtp = async () => {
const transporter = nodemailer.createTransport(mailOpts);
transporter
.verify()
- .then((err) => {
+ .then(async () => {
Sentry.setUser(null);
Sentry.captureMessage("SMTP - Successfully connected");
- console.log("SMTP - Successfully connected")
+ (await getLogger("backend-main")).info(
+ "SMTP - Successfully connected"
+ );
})
.catch(async (err) => {
Sentry.setUser(null);
diff --git a/backend/src/variables/smtp.ts b/backend/src/variables/smtp.ts
index 8a0e752eb..4ad68c356 100644
--- a/backend/src/variables/smtp.ts
+++ b/backend/src/variables/smtp.ts
@@ -3,3 +3,4 @@ export const SMTP_HOST_MAILGUN = "smtp.mailgun.org";
export const SMTP_HOST_SOCKETLABS = "smtp.socketlabs.com";
export const SMTP_HOST_ZOHOMAIL = "smtp.zoho.com";
export const SMTP_HOST_GMAIL = "smtp.gmail.com";
+export const SMTP_HOST_OFFICE365 = "smtp.office365.com";
\ No newline at end of file
diff --git a/docs/self-hosting/configuration/email.mdx b/docs/self-hosting/configuration/email.mdx
index 4c6e13a49..15797d73b 100644
--- a/docs/self-hosting/configuration/email.mdx
+++ b/docs/self-hosting/configuration/email.mdx
@@ -3,12 +3,12 @@ title: "Configure email service"
description: "How to configure your email when self-hosting Infisical."
---
-By default, the core functions of Infisical work without any email service configuration. Without email service, basic sign up/login and secret operations will function without any issue.
+By default, the core functions of Infisical work without any email service configuration. Without email service, basic sign up/login and secret operations will function without any issue.
However, the following functionality will be disabled.
-- Multi-factor authentication
+- Multi-factor authentication
- Sending invite links via email for projects to teammates
-- Sending alerts such as suspicious login attempts
+- Sending alerts such as suspicious login attempts
## General configuration
@@ -157,11 +157,30 @@ SMTP_FROM_NAME=Infisical
As per the [notice](https://support.google.com/accounts/answer/6010255?hl=en) by Google, you should note that using Gmail credentials for SMTP configuration
will only work for Google Workspace or Google Cloud Identity customers as of May 30, 2022.
- Put differently, the SMTP configuration is only possible with business (not personal) Gmail credentials.
+Put differently, the SMTP configuration is only possible with business (not personal) Gmail credentials.
+
+
+
+1. Create an account and configure [Office365](https://www.office.com/) to send emails.
+
+2. With your login credentials, you can now set up your SMTP environment variables:
+
+```
+SMTP_HOST=smtp.office365.com
+SMTP_USERNAME=username@yourdomain.com # your username
+SMTP_PASSWORD=password # your password
+SMTP_PORT=587
+SMTP_SECURE=true
+SMTP_FROM_ADDRESS=username@yourdomain.com
+SMTP_FROM_NAME=Infisical
+```
+
+
+
1. Create an account and configure [Zoho Mail](https://www.zoho.com/mail/) to send emails.