@bond_1013
Начинающий веб-разработчик

Как вставить фото в сообщения wp_mail?

Я пытаюсь отправить сообщение сразу после публикации поста и пытаюсь вставить изображение в письмо, но письмо вообще не отправляется, без изображения всё работает хорошо
function roomble_send_notification( $new_status, $old_status, $post ) {
	if(
	  'publish' === $new_status && 
	  'publish' !== $old_status && 
	  'post' === $post->post_type
	) {
		remove_all_filters( 'wp_mail_from' );
		remove_all_filters( 'wp_mail_from_name' );

		$file = get_field('main_pic', $post->ID);
		$uid = 'my-cool-picture-uid';
		$name = 'file.jpg';

		global $phpmailer;
		add_action( 'phpmailer_init', function(&$phpmailer)use($file,$uid,$name){
			$phpmailer->SMTPKeepAlive = true;
			$phpmailer->AddEmbeddedImage($file, $uid, $name);
		});


		$headers = array(
			'content-type: text/html',
		);

		$multiple_to_recipients = array(
			'test@gmail.com'
		);
		
		$body = '<img src="cid:my-cool-picture-uid" height="500"><br/>'.$post->post_content;
		
		wp_mail( $multiple_to_recipients, $post->post_title, $body, $headers);
		
	}
  }
  add_action( 'transition_post_status', 'roomble_send_notification', 10, 3 );
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
А зачем вы вообще пытаетесь его отправить как файл? Вставьте ссылку с сайта

$body = '<img src="' . get_the_post_thumbnail_url( $post->ID, 'medium' ) . '" height="500"><br/>' . $post->post_content;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы