@@ -7,6 +7,7 @@ import { auto_reply } from "./auto_reply";
7
7
import { isBlocked } from "./black_list" ;
8
8
import { triggerWebhook , triggerAnotherWorker , commonParseMail } from "../common" ;
9
9
import { check_if_junk_mail } from "./check_junk" ;
10
+ import { remove_attachment_if_need } from "./check_attachment" ;
10
11
11
12
12
13
async function email ( message : ForwardableEmailMessage , env : Bindings , ctx : ExecutionContext ) {
@@ -32,13 +33,20 @@ async function email(message: ForwardableEmailMessage, env: Bindings, ctx: Execu
32
33
console . log ( "check junk mail error" , error ) ;
33
34
}
34
35
36
+ // remove attachment if configured or size > 2MB
37
+ try {
38
+ remove_attachment_if_need ( env , parsedEmailContext , message . from , message . to , message . rawSize ) ;
39
+ } catch ( error ) {
40
+ console . log ( "remove attachment error" , error ) ;
41
+ }
42
+
35
43
const message_id = message . headers . get ( "Message-ID" ) ;
36
44
// save email
37
45
try {
38
46
const { success } = await env . DB . prepare (
39
47
`INSERT INTO raw_mails (source, address, raw, message_id) VALUES (?, ?, ?, ?)`
40
48
) . bind (
41
- message . from , message . to , rawEmail , message_id
49
+ message . from , message . to , parsedEmailContext . rawEmail , message_id
42
50
) . run ( ) ;
43
51
if ( ! success ) {
44
52
message . setReject ( `Failed save message to ${ message . to } ` ) ;
0 commit comments