@@ -31,33 +31,41 @@ export class EmailService {
31
31
} ) ;
32
32
}
33
33
34
- async sendMail ( rss : Rss , approveFlag : boolean , description ?: string ) {
34
+ private async sendMail (
35
+ mailOptions : nodemailer . SendMailOptions ,
36
+ ) : Promise < void > {
35
37
try {
36
- const { subject, content } = this . createEmail (
37
- rss ,
38
- approveFlag ,
39
- description ,
40
- ) ;
41
- await this . transporter . sendMail ( {
42
- from : `Denamu<${ this . emailUser } >` ,
43
- to : `${ rss . userName } <${ rss . email } >` ,
44
- subject,
45
- html : content ,
46
- } ) ;
47
- this . logger . log ( `${ rss . email } 주소로 메일이 전송되었습니다` ) ;
38
+ await this . transporter . sendMail ( mailOptions ) ;
39
+ this . logger . log ( `${ mailOptions . to } 이메일 전송 성공` ) ;
48
40
} catch ( error ) {
49
- this . logger . error (
50
- `${ rss . email } 주소로 메일 전송 중 오류가 발생했습니다: ${ error } ` ,
51
- ) ;
41
+ this . logger . error ( `${ mailOptions . to } 이메일 전송 실패: ${ error } ` ) ;
52
42
}
53
43
}
54
44
55
- private createEmail ( rss : Rss , approveFlag : boolean , description ?: string ) {
56
- const result = approveFlag ? `승인` : `거부` ;
57
- const mail = {
45
+ async sendRssMail (
46
+ rss : Rss ,
47
+ approveFlag : boolean ,
48
+ description ?: string ,
49
+ ) : Promise < void > {
50
+ const mailOptions = this . createRssRegistrationMail (
51
+ rss ,
52
+ approveFlag ,
53
+ description ,
54
+ ) ;
55
+ await this . sendMail ( mailOptions ) ;
56
+ }
57
+
58
+ private createRssRegistrationMail (
59
+ rss : Rss ,
60
+ approveFlag : boolean ,
61
+ description ?: string ,
62
+ ) : nodemailer . SendMailOptions {
63
+ const result = approveFlag ? '승인' : '거부' ;
64
+ return {
65
+ from : `Denamu<${ this . emailUser } >` ,
66
+ to : `${ rss . userName } <${ rss . email } >` ,
58
67
subject : `[🎋 Denamu] RSS 등록이 ${ result } 되었습니다.` ,
59
- content : createMailContent ( rss , approveFlag , this . emailUser , description ) ,
68
+ html : createMailContent ( rss , approveFlag , this . emailUser , description ) ,
60
69
} ;
61
- return mail ;
62
70
}
63
71
}
0 commit comments