Skip to content

Commit

Permalink
save raw email for later use
Browse files Browse the repository at this point in the history
  • Loading branch information
matst80 committed Oct 23, 2024
1 parent be6707d commit e711225
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions html-storage.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package main

import (
"compress/gzip"
"encoding/gob"
"fmt"
"log"
"os"

"github.com/mnako/letters"
Expand Down Expand Up @@ -50,6 +53,21 @@ func (file *StoredFile) SaveString(data string) error {
return err
}

func (file *StoredFile) SaveRaw(email letters.Email) error {
f, err := file.createFile()
if err != nil {
return err
}
defer f.Close()

fz := gzip.NewWriter(f)
defer fz.Close()

enc := gob.NewEncoder(fz)
err = enc.Encode(email)
return err
}

func (file *StoredFile) SaveData(data []byte) error {
f, err := file.createFile()
if err != nil {
Expand All @@ -72,6 +90,15 @@ func saveMail(emailId string, userId int64, email letters.Email) (StorageResult,
Attachments: []StoredFile{},
}

saveRawEmail := StoredFile{
UserId: userId,
FileName: fmt.Sprintf("%s.eml", emailId),
}
err = saveRawEmail.SaveRaw(email)
if err != nil {
log.Printf("Error saving raw email: %v", err)
}

ret.Html = StoredFile{
UserId: userId,
FileName: fmt.Sprintf("%s.html", emailId),
Expand Down

0 comments on commit e711225

Please sign in to comment.