[Series Email] Bài 2: Gửi Email Đính Kèm File – Hình Ảnh

Đính kèm file

Để gửi email đính kèm file bằng Apps Script, có 2 điều quan trọng các bạn nên lưu ý:

  • File phải được upload lên Google Drive (để trong thư mục nào cũng được)
  • Tên file NÊN LÀ DUY NHẤT. Tức là không bị trùng với file nào khác có trong Drive. Nếu 2 file có tên giống nhau (tên và cả phần mở rộng) thì các hàm dưới đây sẽ ưu tiên lấy file được upload gần nhất

Ví dụ sau sẽ thực hiện:

  • Biến file sẽ đi đến file test.pdf
  • Sử dụng hàm sendEmail với phần tùy chọn attachment
  • attachment với [file.next().getBlob()] lúc này sẽ chính thức gọi file ra và đưa vào trong email

Và kết quả thu được:

Gửi email đính kèm file bằng app script
Kết quả

Đính kèm hình ảnh

Việc chèn hình ảnh vào trong phần body (nội dung) email hóa ra lại phức tạp hơn nhiều so với việc đính kèm hình ảnh ở cuối mỗi email. Các bạn xem ví dụ sau:

  • Điều đầu tiên các bạn cần có đó là link hình ảnh. Lưu ý link này phải có phần định dạng file (ví dụ: .png hoặc .jpg) ở cuối. Một gợi ý cho các bạn đó là upload hình ảnh lên các website miễn phí như https://vi.imgbb.com/ hoặc https://imgur.com/upload
  • Khai báo link hình ảnh vào biến hinhanhUrl
  • Cấu trúc UrlFetchApp.fetch(hinhanhUrl).getBlob() là để chuyển link trên về dạng hình ảnh (blob) mà Apps Script có thể làm việc được
  • .setName() – đặt tên hình ảnh (không bắt buộc)
  • Sử dụng hàm sendEmail như hướng dẫn ở Bài 1
  • Các bạn nên viết những hình ảnh sẽ sử dụng ở inlineImages trước phần nội dung email ở htmlBody
  • {hinhanh: hinhanhBlob}hinhanh là content-id sẽ được dùng để gọi hình ảnh ra trong phần body của email. Còn hinhanhBlob là biến ở phía trên đã khai báo
  • htmlBody – về nội dung, các bạn có thể viết bất cứ gì trong phần này như viết bình thường. Nhưng đến khi gọi hình ảnh ra, thì hãy sử dụng cấu trúc <img src=’cid:hinhanh’> với hinhanh là content-id được khai báo trong inlineImages
  • Nếu muốn thay đổi kích thước hình ảnh, hãy thêm width=””height=”” nhưng nhớ là hãy nối chuỗi nhé!
  • Để xuống dòng trong html, các bạn có thể dùng thẻ <br>

Leave a Reply