File tree Expand file tree Collapse file tree 1 file changed +28
-1
lines changed
Expand file tree Collapse file tree 1 file changed +28
-1
lines changed Original file line number Diff line number Diff line change @@ -170,7 +170,8 @@ module.exports.start = callback => {
170170 subject : true ,
171171 mailbox : true ,
172172 mimeTree : true ,
173- idate : true
173+ idate : true ,
174+ verificationResults : true
174175 }
175176 }
176177 ) ;
@@ -213,6 +214,32 @@ module.exports.start = callback => {
213214 data . messageId = messageData . msgid ;
214215 data . subject = messageData . subject ;
215216 data . date = messageData . idate . toISOString ( ) ;
217+
218+ if ( messageData . verificationResults ) {
219+ data . verificationResults = Object . assign ( { } , messageData . verificationResults ) ;
220+
221+ if ( data . verificationResults . bimi ) {
222+ try {
223+ let bimiData = await db . database . collection ( 'bimi' ) . findOne ( { _id : data . verificationResults . bimi } ) ;
224+ if ( bimiData ?. content && ! bimiData ?. error ) {
225+ data . bimi = {
226+ certified : bimiData . type === 'authority' ,
227+ url : bimiData . url ,
228+ image : `data:image/svg+xml;base64,${ bimiData . content . toString ( 'base64' ) } ` ,
229+ type : bimiData . type === 'authority' ? bimiData . vmc ?. type || 'VMC' : undefined
230+ } ;
231+ }
232+ } catch ( err ) {
233+ log . error ( 'BIMI' , 'message=%s error=%s' , messageData . _id , err . message ) ;
234+ }
235+
236+ delete data . verificationResults . bimi ;
237+ }
238+
239+ if ( ! Object . keys ( data . verificationResults ) . length ) {
240+ delete data . verificationResults ;
241+ }
242+ }
216243 }
217244
218245 for ( let webhook of webhooks ) {
You can’t perform that action at this time.
0 commit comments