מסך עם קוד

להפוך את כל התמונות שנשלחות במייל ל- Embedded Image

התמונות לא מופיעות או נחסמות במייל ? קוד להמרה של כל התמונות במייל ל – embedded image באתר הוורדפרס שלך.


<?php 
add_action( 'phpmailer_init', 'replace_to_embedded' ); 
function replace_to_embedded( $phpmailer ) { 
	$content = replace_img_src( $phpmailer->Body );
	foreach ( $content['images'] as $image_url ) {
		$path = parse_url( $image_url, PHP_URL_PATH );
		$image_path = ABSPATH . $path;
		$phpmailer->AddEmbeddedImage( $image_path, basename( $image_url ) );
	}
	$phpmailer->Body = $content['html'];
}
function replace_img_src( $html ) {
	$doc = new DOMDocument();
	$doc->loadHTML( $html );
	$tags = $doc->getElementsByTagName( 'img' );
	$images = array();
	foreach ( $tags as $tag ) {
		$old_src = $tag->getAttribute('src');
		$image_id = basename( $old_src );
		$new_src = 'cid:' . $image_id;
		$tag->setAttribute( 'src', $new_src );
		$images[] = $old_src;
	}
	return array( 'html' => $doc->saveHTML(), 'images' => $images );
}

מפתח וורדפרס עם ניסיון של חמש שנים בפיתוח תוספים ותבניות.
היה לי העונג לעבוד מפרוייקטים קטנים עד לפרוייקטים גדולים לחברות הגדולות במשק.
אפשר למצוא אותי גם בקבוצה: פיתוח וורדפרס בפייסבוק.