Чтобы отправить прикрепленный файл в виде вложения в WordPress, вам потребуется немного кода. Вот пример, который показывает, как это сделать:
1. Создайте свою собственную функцию, которая будет обрабатывать отправку файла.
function custom_send_email_with_attachment() { // Получаем данные из формы или любого другого источника $recipient_email = '[email protected]'; $subject = 'Новое вложение'; $message = 'Здравствуйте, вам отправлено новое вложение. Пожалуйста, проверьте прикрепленный файл.'; $file_path = '/path/to/attachment.pdf'; // Генерируем уникальное имя для файла $file_name = basename($file_path); // Загружаем файл $file = file_get_contents($file_path); // Создаем заголовки письма $headers = array( 'From: Sender Name <[email protected]>', 'Reply-To: [email protected]', 'Content-Type: multipart/mixed; boundary=boundary' ); // Генерируем тело письма с вложением $body = "--boundaryrn"; $body .= "Content-Type: text/plain; charset=ISO-8859-1rn"; $body .= "Content-Disposition: inlinern"; $body .= "rn"; $body .= "$messagern"; $body .= "rn"; $body .= "--boundaryrn"; $body .= "Content-Type: application/pdf; name="$file_name"rn"; $body .= "Content-Disposition: attachment; filename="$file_name"rn"; $body .= "Content-Transfer-Encoding: base64rn"; $body .= "rn"; $body .= chunk_split(base64_encode($file), 76, "rn"); $body .= "rn"; $body .= "--boundary--"; // Отправляем письмо с вложением wp_mail($recipient_email, $subject, $body, $headers); }
2. Вызовите эту функцию в соответствующем месте вашего кода WordPress, например, в обработчике действия.
add_action('init', 'custom_send_email_with_attachment');
В этом примере функция custom_send_email_with_attachment
принимает несколько переменных, которые вы должны изменить под свои нужды:
- $recipient_email
- адрес электронной почты получателя
- $subject
- тема письма
- $message
- текст сообщения
- $file_path
- путь к файлу, который вы хотите отправить
После вызова функции wp_mail()
письмо с прикрепленным файлом будет отправлено по указанному адресу. Вам нужно убедиться, что ваш сервер настроен для отправки электронной почты.