Skip to content

Commit

Permalink
feat: Add support for not requiring SMTP auth with user management (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
xavier-calland authored and netroy committed Aug 17, 2023
1 parent 6b99e97 commit 0db5af3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
4 changes: 1 addition & 3 deletions packages/cli/src/UserManagement/UserManagementHelper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,8 @@ export async function getWorkflowOwner(workflowId: string): Promise<User> {
export function isEmailSetUp(): boolean {
const smtp = config.getEnv('userManagement.emails.mode') === 'smtp';
const host = !!config.getEnv('userManagement.emails.smtp.host');
const user = !!config.getEnv('userManagement.emails.smtp.auth.user');
const pass = !!config.getEnv('userManagement.emails.smtp.auth.pass');

return smtp && host && user && pass;
return smtp && host;
}

export function isUserManagementEnabled(): boolean {
Expand Down
17 changes: 13 additions & 4 deletions packages/cli/src/UserManagement/email/NodeMailer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,29 @@ import { createTransport } from 'nodemailer';
import { ErrorReporterProxy as ErrorReporter, LoggerProxy as Logger } from 'n8n-workflow';
import config from '@/config';
import type { MailData, SendEmailResult } from './Interfaces';
import type SMTPConnection from 'nodemailer/lib/smtp-connection';

export class NodeMailer {
private transport?: Transporter;

async init(): Promise<void> {
this.transport = createTransport({
const transportConfig: SMTPConnection.Options = {
host: config.getEnv('userManagement.emails.smtp.host'),
port: config.getEnv('userManagement.emails.smtp.port'),
secure: config.getEnv('userManagement.emails.smtp.secure'),
auth: {
};

if (
config.getEnv('userManagement.emails.smtp.auth.user') &&
config.getEnv('userManagement.emails.smtp.auth.pass')
) {
transportConfig.auth = {
user: config.getEnv('userManagement.emails.smtp.auth.user'),
pass: config.getEnv('userManagement.emails.smtp.auth.pass'),
},
});
};
}

this.transport = createTransport(transportConfig);
}

async verifyConnection(): Promise<void> {
Expand Down

0 comments on commit 0db5af3

Please sign in to comment.