uralmas/external-mailer 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

uralmas/external-mailer

Composer 安装命令:

composer require uralmas/external-mailer

包简介

PHP email creation and transport class for sending emails via an external address by PHPMailer

README 文档

README

Это может полезно в следующих случаях:

  • На хостинге по причине безопасности отключена отправка писем через стандартные возможности
  • Сайт, с которого необходимо отправлять письма, заражён вирусами, которые занимаются рассылкой спама, и хостер отключил возможность отправки писем
  • У разных сайтов есть единый шлюз рассылки писем

Installation & loading

PHPMailer is available on Packagist, and installation via Composer is the recommended way to install ExternalMailer. Just add this line to your composer.json file:

"uralmas/external-mailer": "~0.2.0"

or run

composer require uralmas/external-mailer

Использование

Библиотека состоит из 2-х частей - клиента и сервера. Клиент размещается на сайт, с которого необходимо отправить письма. Сервер - на том сайте / IP, который служит шлюзом отправки.

Client

У конструктора клиента 2 аргумента:

  • Первый - это адрес, по которому находится скрипт, инициализирующий серверную часть
  • Второй - адрес пути на сайте, на котором размещён клиент, с которого начинается адрес до прикладываемых локальных файлов (необязательный) Т.е. надо в функции addAttachment() в пути к файлу указывать адрес файла, доступный из интернета (если указан root адреса файлов, то его можно опустить)

Debugoutput указывать не надо - он будет заменён на внутренний. Для вывода сообщений дебага использовать Client->getMessages().

<?php

require_once('./vendor/autoload.php');

try {
	//First argument - the address on which the script is located sending mail
	//Sencond - root of filepath
    $sender = new UralMas\ExternalMailer\Client('http://server.ru/', 'http://client.ru/');

    $mail = $sender->createMailer();

    //Server settings										// Enable verbose debug output
    $mail->isSMTP();                                    	// Set mailer to use SMTP
    $mail->Host = 'smtp.mail.ru';  							// Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                             	// Enable SMTP authentication
    $mail->Username = 'user@mail.ru';                   	// SMTP username
    $mail->Password = 'password';                       	// SMTP password
    $mail->SMTPSecure = 'ssl';                          	// Enable TLS encryption, `ssl` also accepted
    $mail->Port = 465;                                  	// TCP port to connect to

    /* Other parameters and functions to configuration instanse of PHPMailer */
	
	//Send mails to Server part
    $send = $sender->send();

	//Debug messages
    foreach ($sender->getMessages() as $message) {
        echo $message;
    }
	
	$result = $sender->getResult();
} catch (\Exception $e) {
    echo $e->getMessage();
}

Server

<?php

require_once('./vendor/autoload.php');

try {
    if (! isset($_POST['mailer'])) {
        throw new Exception('Not data are send');
    }

    $mailerData = (string) $_POST['mailer'];

    $mailer = new \UralMas\ExternalMailer\Server($mailerData);

    echo $mailer->getResultSendMail();
} catch (Exception $e) {
    echo $e->getMessage();
}

License

This software is distributed under the LGPL 2.1 license. Please read LICENSE for information on the software availability and distribution.

统计信息

  • 总下载量: 13
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: LGPL-2.1
  • 更新时间: 2018-03-19

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固