Как отправить прикрепленный файл вложением?

Чтобы отправить прикрепленный файл в виде вложения в 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() письмо с прикрепленным файлом будет отправлено по указанному адресу. Вам нужно убедиться, что ваш сервер настроен для отправки электронной почты.