Tôi có một loại nút "hóa đơn" chứa trường tệp "field_invoice" (pdf). Tôi đang thiết lập hành động theo quy tắc và đang tìm cách để các quy tắc nhận tệp từ "field_invoice" và gửi e-mail có đính kèm tệp cho người dùng.
Tôi đang dùng D9.3.x và có Quy tắc + Swiftmailer đang chạy bình thường.
Đây là Quy tắc hiện tại của tôi
- Sự kiện: Sau khi lưu một thực thể nội dung mới thuộc loại Hóa đơn
- Điều kiện: Thực thể thuộc gói (nút, nút, Hóa đơn)
- Hành động: Gửi E-mail
Cho đến nay tôi vẫn ổn. Tôi có thể truy cập "field_invoice" trong tác vụ Gửi E-mail.
Bước tiếp theo tôi đã thử là tạo một mô-đun tùy chỉnh với mô-đun này trong mymodule.module:
$file->uri = '<tôi đặt gì ở đây?>'; // Đường dẫn tập tin
$file->filename = '<và tôi đặt gì ở đây?>'; //Tên tệp
$file->filemime = 'ứng dụng/pdf'; // Loại tập tin mime
$params['file đính kèm'][] = $file;
$mailManager->mail($module, $key, $to, $langcode, $params, NULL, $send);
function mymodule_mail($key, &$message, $params) {
công tắc ($key) {
trường hợp 'my_email_key':
$message['body'][] = $params['body'];
$message['subject'] = $params['subject'];
$message['params']['attachments'] = $params['attachments'];
nghỉ;
}
}
Nhưng tôi không biết làm cách nào để mymodule nhận Quy tắc của mình và chuyển tệp đã tải lên khi nó chạy. Có rất nhiều câu hỏi tương tự, được trả lời tốt, nhưng tất cả đều có từ thời D7 với thông tin lỗi thời. Tôi tìm thấy ít tài liệu hoặc trường hợp sử dụng về cách đạt được điều này với D8-D9.
Tài liệu tôi tìm thấy nhưng không đủ với tôi:
Làm cách nào để bạn thêm tệp đính kèm PDF vào email?
https://www.drupal.org/project/swiftmailer/issues/2713651