<?php
namespace com\whitemagicsoftware;
require "login.php";
require "html2text.php";
require "mailgun/vendor/autoload.php";
require "swift/swift_required.php";
use Swift_SmtpTransport;
use Swift_Mailer;
use Swift_Message;
use Swift_TransportException;
use Mailgun\Mailgun;
class Mail extends Obj {
public function __construct() {
}
public function send( $recipient, $subject, $html ) {
global $DEFAULT_APP_TITLE;
global $DEFAULT_EMAIL_FROM;
global $DEFAULT_EMAIL_NAME;
global $SERVER_EMAIL_HOST;
global $SERVER_EMAIL_PORT;
global $emailuser;
global $emailpass;
$result = false;
$plain = convert_html_to_text( $html );
try {
$transport = Swift_SmtpTransport::newInstance(
$SERVER_EMAIL_HOST, $SERVER_EMAIL_PORT, 'ssl' )
->setUsername( $emailuser )
->setPassword( $emailpass );
$mailer = Swift_Mailer::newInstance( $transport );
$app = str_replace( ' ', '', $DEFAULT_APP_TITLE );
$message = Swift_Message::newInstance()
->setSubject( $subject )
->setFrom( array( $DEFAULT_EMAIL_FROM => $DEFAULT_APP_TITLE ) )
->setReplyTo( array( $DEFAULT_EMAIL_FROM ) )
->setTo( $recipient )
->setPriority( 1 )
->setContentType( "text/plain; charset=UTF-8" )
->setBody( $plain, "text/plain" )
->addPart( $html, "text/html" )
->setId( time() . ".$app@" . $_SERVER['SERVER_NAME'] );
$headers = $message->getHeaders();
$headers->addTextHeader( "X-Mailer", "PHP v" . phpversion() );
$result = $mailer->send( $message );
}
catch( Swift_TransportException $e ) {
$this->log( $e->getMessage() );
$result = false;
}
return $result;
}
public function validate( $email ) {
$mailgun = new Mailgun( "pubkey-3y4cc2gs3bkquj401sd6xjr5351rzjo3" );
$result = $mailgun->get( "address/validate",
array( "address" => $email ) );
return (int)$result->http_response_body->is_valid == 1;
}
}