summaryrefslogtreecommitdiff
path: root/Postman/Postman-Mail/PostmanMyMailConnector.php
diff options
context:
space:
mode:
Diffstat (limited to 'Postman/Postman-Mail/PostmanMyMailConnector.php')
-rw-r--r--Postman/Postman-Mail/PostmanMyMailConnector.php223
1 files changed, 0 insertions, 223 deletions
diff --git a/Postman/Postman-Mail/PostmanMyMailConnector.php b/Postman/Postman-Mail/PostmanMyMailConnector.php
deleted file mode 100644
index 507b4e0..0000000
--- a/Postman/Postman-Mail/PostmanMyMailConnector.php
+++ /dev/null
@@ -1,223 +0,0 @@
-<?php
-if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly
-}
-
-define( 'MAILSTER_POSTMAN_REQUIRED_VERSION', '2.0' );
-define( 'MAILSTER_POSTMAN_ID', 'postman' );
-
-/**
- * Enables MyMail to deliver via Postman
- *
- * @author jasonhendriks
- */
-if ( ! class_exists( 'PostmanMyMailConnector' ) ) {
- class PostmanMyMailConnector {
-
- // PostmanLogger
- private $logger;
-
- /**
- * No-argument constructor
- */
- public function __construct( $file ) {
- register_activation_hook( $file, array(
- $this,
- 'activate',
- ) );
- register_deactivation_hook( $file, array(
- $this,
- 'deactivate',
- ) );
-
- add_action( 'init', array(
- $this,
- 'init',
- ), 1 );
- }
-
- /**
- * Initialize the Connector
- */
- public function init() {
- if ( ! defined( 'MAILSTER_VERSION' ) || version_compare( MAILSTER_POSTMAN_REQUIRED_VERSION, MAILSTER_VERSION, '>' ) ) {
- // no-op
- } else {
- // create an instance of the Logger
- $this->logger = new PostmanLogger( get_class( $this ) );
- $this->logger->debug( 'Starting' );
-
- add_filter( 'mailster_delivery_methods', array(
- &$this,
- 'delivery_method',
- ) );
- add_action( 'mailster_deliverymethod_tab_postman', array(
- &$this,
- 'deliverytab',
- ) );
-
- if ( mailster_option( 'deliverymethod' ) == MAILSTER_POSTMAN_ID ) {
- add_action( 'mailster_initsend', array(
- &$this,
- 'initsend',
- ) );
- add_action( 'mailster_presend', array(
- &$this,
- 'presend',
- ) );
- add_action( 'mailster_dosend', array(
- &$this,
- 'dosend',
- ) );
- add_action( 'MAILSTER_POSTMAN_cron', array(
- &$this,
- 'reset',
- ) );
- }
- }
- }
-
- /**
- * initsend function.
- *
- * uses mailster_initsend hook to set initial settings
- *
- * @access public
- * @param mixed $mailobject
- * @return void
- */
- public function initsend( $mailobject ) {
- $this->logger->trace( 'initsend' );
- // disable dkim
- $mailobject->dkim = false;
- }
-
- /**
- * presend function.
- *
- * uses the mailster_presend hook to apply setttings before each mail
- *
- * @access public
- * @param mixed $mailobject
- * @return void
- */
- public function presend( $mailobject ) {
-
- // embedding images doesn't work
- $mailobject->embed_images = false;
-
- // use pre_send from the main class
- // need the raw email body to send so we use the same option
- $mailobject->pre_send();
- }
-
- /**
- * dosend function.
- *
- * uses the mailster_dosend hook and triggers the send
- *
- * @access public
- * @param mixed $mailobject
- * @return void
- */
- public function dosend( $mailobject ) {
- $this->logger->trace( 'dosend' );
- $this->logger->trace( $mailobject->mailer );
-
- // create a PostmanWpMail instance
- $postmanWpMail = new PostmanWpMail();
- $postmanWpMail->init();
-
- // create a PostmanMessage instance
- $message = $postmanWpMail->createNewMessage();
- $message->addHeaders( $mailobject->headers );
- $message->setBodyTextPart( $mailobject->mailer->AltBody );
- $message->setBodyHtmlPart( $mailobject->mailer->Body );
- $message->setBody( $mailobject->mailer->AltBody . $mailobject->mailer->Body );
- $message->setSubject( $mailobject->subject );
- $message->addTo( $mailobject->to );
- $message->setReplyTo( $mailobject->reply_to );
- $message->setAttachments( $mailobject->attachments );
-
- // create a PostmanEmailLog instance
- $log = new PostmanEmailLog();
-
- // send the message and store the result
- $mailobject->sent = $postmanWpMail->sendMessage( $message, $log );
-
- // give error message back to MyMail
- $result = apply_filters( 'postman_wp_mail_result', null );
- if ( ! $mailobject->sent ) {
- $mailobject->set_error( $result ['exception']->getMessage() );
- }
- }
-
- /**
- * reset function.
- *
- * resets the current time
- *
- * @access public
- * @param mixed $message
- */
- public function reset() {
- update_option( '_transient__mailster_send_period_timeout', false );
- update_option( '_transient__mailster_send_period', 0 );
- }
-
- /**
- * delivery_method function.
- *
- * add the delivery method to the options
- *
- * @access public
- * @param mixed $delivery_methods
- * @return mixed
- */
- public function delivery_method( $delivery_methods ) {
- $delivery_methods [ MAILSTER_POSTMAN_ID ] = __( 'Postman SMTP', 'post-smtp' );
- return $delivery_methods;
- }
-
- /**
- * deliverytab function.
- *
- * the content of the tab for the options
- *
- * @access public
- * @return void
- */
- public function deliverytab() {
- apply_filters( 'print_postman_status', null );
- }
-
- /**
- * activate function.
- *
- * @access public
- * @return void
- */
- public function activate() {
- if ( defined( 'MAILSTER_VERSION' ) && version_compare( MAILSTER_POSTMAN_REQUIRED_VERSION, MAILSTER_VERSION, '<=' ) ) {
- mailster_notice( sprintf( __( 'MyMail: Change the delivery method in the %s!', 'post-smtp' ), sprintf( '<a href="edit.php?post_type=newsletter&page=mailster_settings&mailster_remove_notice=mailster_delivery_method#delivery">%s</a>', __( 'Settings', 'postman-smtp' ) ) ), '', false, 'delivery_method' );
- $this->reset();
- }
- }
-
- /**
- * deactivate function.
- *
- * @access public
- * @return void
- */
- public function deactivate() {
- if ( defined( 'MAILSTER_VERSION' ) && function_exists( 'mailster_option' ) && version_compare( MAILSTER_POSTMAN_REQUIRED_VERSION, MAILSTER_VERSION, '<=' ) ) {
- if ( mailster_option( 'deliverymethod' ) == MAILSTER_POSTMAN_ID ) {
- mailster_update_option( 'deliverymethod', 'simple' );
- /* Translators where %s is the name of the page */
- mailster_notice( sprintf( __( 'MyMail: Change the delivery method in the %s!', 'post-smtp' ), sprintf( '<a href="edit.php?post_type=newsletter&page=mailster_settings&mailster_remove_notice=mailster_delivery_method#delivery">%s</a>', __( 'Settings', 'postman-smtp' ) ) ), '', false, 'delivery_method' );
- }
- }
- }
- }
-}