All pastes #580747 Raw Edit

mail_mime

public php v1 · immutable
·published 2007-06-21 06:57 UTC
rendered paste body
<?phpclass mm {	function constructMessage($bcc, $plainpart, $htmlpart, $headerImageFile) {		require_once ABSPATH.'/wp-content/plugins/massmail/lib/mime.php';		$mimeMail = new Mail_mime;		$mimeMail->Mail_mime();		$mimeMail->setFrom('"Alex" <joe@example.com>');		if (!empty($bcc) )			$mimeMail->addBcc($bcc);		$mimeMail->setTXTBody($plainpart);		$mimeMail->addHTMLImage($headerImageFile);		$mimeMail->setHTMLBody($htmlpart);		$message = $mimeMail->get( array(			'head_encoding' => 'quoted-printable',			'text_encoding' => 'quoted-printable',			'html_encoding' => 'quoted-printable',			'html_charset'  => 'UTF-8',			'text_charset'  => 'UTF-8',			'head_charset'  => 'UTF-8'		) );  // give me the message		$headers = $mimeMail->txtHeaders(); // give me the headers		return array(			'headers' => $headers,			'message' => $message		);	}http://www.bildblog.de/	function postToPlain($message) {		$messageBefore = 'bla';		$messageAfter = 'bla';		$message = $messageBefore.$message.$messageAfter;		require_once ABSPATH.'/wp-content/plugins/massmail/lib/html2text.php';		$h2t = new html2text(false, 69, false); /* $linksAfterEachParagraph, $wrapAfter, $keepHtml */		$message = $h2t->load_string($message);		return $message;	}	function postToHtml($message) {		$message = str_replace( array("\n", "\t"), '', $message );			$messageBefore = 'bla';		$messageBefore = str_replace( array("\n", "\t"), '', $messageBefore );				$messageAfter = 'bla';		$messageAfter = str_replace( array("\n", "\t"), '', $messageAfter );				$messageComplete = $messageBefore.$message.$messageAfter;		return $messageComplete;	}	function mailer($id) {		$postdata = get_post($id);		$title = $postdata->post_title;		$title = apply_filters('the_title', $title);		$title = strip_tags($title);		if ( empty($title) )			$title = 'Newsletter für '.date('m/y');		$plainMessage = $htmlMessage = $postdata->post_content;		$plainMessage = wpautop($plainMessage);		$plainMessage = $this->postToPlain($plainMessage);		$htmlMessage = apply_filters('the_content', $htmlMessage);		$htmlMessage = $this->postToHtml($htmlMessage);		$headerImageFile = ABSPATH.'/img/mft.gif';		$mail = $this->constructMessage( '', $plainMessage, $htmlMessage, $headerImageFile );		$to = ( is_email($_POST['mmTestMail']) )			? $_POST['mmTestMail']			: 'mastermind@localhost';		mail($to, $title, $mail['message'], $mail['headers']);				if (function_exists('wpsyslog'))			wpsyslog('massmail', "Beitrag #{$postdata->post_ID} mit dem Titel <em>$title</em> wurde als Newsletter verschickt.", 3);	}}class mmWpHooks {	function executeMailer($id) {		if ('newsletter' == $_POST['mmConfirm']) {			$mailer = new mm;			$mailer->mailer($id);		}	}}function mmPostExtension() {	echo '	<fieldset id="mmdiv" class="dbx-box">		<h3 class="dbx-handle"><strong>Newsletter senden</strong></h3>		<div class="dbx-content" style="padding: 8px;">			<p><strong>Sicherheitsabfrage:</strong> Bitte geben Sie <code>newsletter</code> ein, um den Beitrag als Newsletter zu versenden.<br />			<input name="mmConfirm" type="text" size="13" id="mmConfirm" value="newsletter" /></p>			<p>Bitte geben Sie eine E-Mail-Adresse ein, an die der Newsletter geschickt werden soll.<br />			<input name="mmTestMail" type="text" size="13" id="mmTestMail" value="mastermind@localhost" /></p>		</div>	</fieldset>';}add_action( 'publish_post', array('mmWpHooks', 'executeMailer') );add_action('dbx_post_sidebar', 'mmPostExtension');?>