@@ -54,26 +54,39 @@ if (process.env.USE_LOCAL !== 'TRUE') {
54
54
let transporterMail ;
55
55
let mailgunClient ;
56
56
let mailgunDomain ;
57
-
57
+ let isMailAdapter = false ;
58
58
if ( process . env . SMTP_ENABLE ) {
59
- transporterMail = createTransport ( {
60
- host : process . env . SMTP_HOST ,
61
- port : process . env . SMTP_PORT || 465 ,
62
- secure : process . env . SMTP_SECURE || true ,
63
- auth : {
64
- user : process . env . SMTP_USER_EMAIL ,
65
- pass : process . env . SMTP_PASS ,
66
- } ,
67
- } ) ;
59
+ try {
60
+ transporterMail = createTransport ( {
61
+ host : process . env . SMTP_HOST ,
62
+ port : process . env . SMTP_PORT || 465 ,
63
+ secure : process . env . SMTP_SECURE || true ,
64
+ auth : {
65
+ user : process . env . SMTP_USER_EMAIL ,
66
+ pass : process . env . SMTP_PASS ,
67
+ } ,
68
+ } ) ;
69
+ await transporterMail . verify ( ) ;
70
+ isMailAdapter = true ;
71
+ } catch ( err ) {
72
+ console . dir ( 'Please provide valid SMTP credentials' ) ;
73
+ isMailAdapter = false ;
74
+ }
68
75
} else if ( process . env . MAILGUN_API_KEY ) {
69
- const mailgun = new Mailgun ( formData ) ;
70
- mailgunClient = mailgun . client ( {
71
- username : 'api' ,
72
- key : process . env . MAILGUN_API_KEY ,
73
- } ) ;
74
-
75
- mailgunDomain = process . env . MAILGUN_DOMAIN ;
76
+ try {
77
+ const mailgun = new Mailgun ( formData ) ;
78
+ mailgunClient = mailgun . client ( {
79
+ username : 'api' ,
80
+ key : process . env . MAILGUN_API_KEY ,
81
+ } ) ;
82
+ mailgunDomain = process . env . MAILGUN_DOMAIN ;
83
+ isMailAdapter = true ;
84
+ } catch ( error ) {
85
+ isMailAdapter = false ;
86
+ console . dir ( 'Please provide valid Mailgun credentials' ) ;
87
+ }
76
88
}
89
+
77
90
export const config = {
78
91
databaseURI :
79
92
process . env . DATABASE_URI || process . env . MONGODB_URI || 'mongodb://localhost:27017/dev' ,
@@ -85,14 +98,14 @@ export const config = {
85
98
masterKey : process . env . MASTER_KEY , //Add your master key here. Keep it secret!
86
99
masterKeyIps : [ '0.0.0.0/0' , '::/0' ] , // '::1'
87
100
serverURL : process . env . SERVER_URL || 'http://localhost:8080/app' , // Don't forget to change to https if needed
88
- verifyUserEmails : process . env . SMTP_ENABLE || process . env . MAILGUN_API_KEY ? true : false ,
101
+ verifyUserEmails : isMailAdapter === true ? true : false ,
89
102
publicServerURL : process . env . SERVER_URL || 'http://localhost:8080/app' ,
90
103
// Your apps name. This will appear in the subject and body of the emails that are sent.
91
104
appName : 'Open Sign' ,
92
105
allowClientClassCreation : false ,
93
106
allowExpiredAuthDataToken : false ,
94
107
encodeParseObjectInCloudFunction : true ,
95
- ...( process . env . SMTP_ENABLE || process . env . MAILGUN_API_KEY
108
+ ...( isMailAdapter === true
96
109
? {
97
110
emailAdapter : {
98
111
module : 'parse-server-api-mail-adapter' ,
0 commit comments