Skip to content

Instantly share code, notes, and snippets.

@xKerman
Last active September 6, 2016 21:37
Show Gist options
  • Save xKerman/4b1c1b59cd81009f61580ef72d770d59 to your computer and use it in GitHub Desktop.
Save xKerman/4b1c1b59cd81009f61580ef72d770d59 to your computer and use it in GitHub Desktop.
FuelPHP email package test for SMTP driver
<?php
/**
* Fuel
*
* Fuel is a fast, lightweight, community driven PHP5 framework.
*
* @package Fuel
* @version 1.8
* @author Fuel Development Team
* @license MIT License
* @copyright 2010 - 2016 Fuel Development Team
* @link http://fuelphp.com
*/
/**
* NOTICE:
*
* If you need to make modifications to the default configuration, copy
* this file to your app/config folder, and make them in there.
*
* This will allow you to upgrade fuel without losing your custom config.
*/
return array(
/**
* Default setup group
*/
'default_setup' => 'default',
/**
* Default setup groups
*/
'setups' => array(
'default' => array(),
),
/**
* Default settings
*/
'defaults' => array(
/**
* Mail useragent string
*/
'useragent' => 'FuelPHP, PHP 5.3 Framework',
/**
* Mail driver (mail, smtp, sendmail, noop)
*/
'driver' => 'smtp',
/**
* Whether to send as html, set to null for autodetection.
*/
'is_html' => null,
/**
* Email charset
*/
'charset' => 'utf-8',
/**
* Whether to encode subject and recipient names.
* Requires the mbstring extension: http://www.php.net/manual/en/ref.mbstring.php
*/
'encode_headers' => true,
/**
* Ecoding (8bit, base64 or quoted-printable)
*/
'encoding' => '8bit',
/**
* Email priority
*/
'priority' => \Email::P_NORMAL,
/**
* Default sender details
*/
'from' => array(
'email' => 'test@example.com',
'name' => false,
),
/**
* Whether to validate email addresses
*/
'validate' => true,
/**
* Auto attach inline files
*/
'auto_attach' => true,
/**
* Auto generate alt body from html body
*/
'generate_alt' => true,
/**
* Forces content type multipart/related to be set as multipart/mixed.
*/
'force_mixed' => false,
/**
* Wordwrap size, set to null, 0 or false to disable wordwrapping
*/
'wordwrap' => 76,
/**
* Path to sendmail
*/
'sendmail_path' => '/usr/sbin/sendmail',
/**
* SMTP settings
*/
'smtp' => array(
'host' => 'localhost',
'port' => 25,
'username' => '',
'password' => '',
'timeout' => 5,
'starttls' => false,
),
/**
* Newline
*/
'newline' => "\n",
/**
* Attachment paths
*/
'attach_paths' => array(
'', // absolute path
DOCROOT, // relative to docroot.
),
/**
* Default return path
*/
'return_path' => 'bounces@example.com',
/**
* Remove html comments
*/
'remove_html_comments' => true,
/**
* Mandrill settings, see http://mandrill.com/
*/
'mandrill' => array(
'key' => 'api_key',
'message_options' => array(),
'send_options' => array(
'async' => false,
'ip_pool' => null,
'send_at' => null,
),
),
/**
* Mailgun settings, see http://www.mailgun.com/
*/
'mailgun' => array(
'key' => 'api_key',
'domain' => 'domain',
),
/**
* When relative protocol uri's ("//uri") are used in the email body,
* you can specify here what you want them to be replaced with. Options
* are "http://", "https://" or \Input::protocol() if you want to use
* whatever was used to request the controller.
*/
'relative_protocol_replacement' => false,
),
);
<?php
namespace Fuel\Tasks;
class Smtptest
{
/**
* This method gets ran when a valid method name is not used in the command.
*
* Usage (from command line):
*
* php oil r smtptest
*
* @return string
*/
public function run($args = NULL)
{
echo "\n===========================================";
echo "\nRunning DEFAULT task [Smtptest:Run]";
echo "\n-------------------------------------------\n\n";
$email = \Email\Email::forge();
$email->to($args);
$email->subject('SMTP test');
$email->body('SMTP email test');
$email->send();
}
/**
* This method gets ran when a valid method name is not used in the command.
*
* Usage (from command line):
*
* php oil r smtptest:index "arguments"
*
* @return string
*/
public function index($args = NULL)
{
echo "\n===========================================";
echo "\nRunning task [Smtptest:Index]";
echo "\n-------------------------------------------\n\n";
/***************************
Put in TASK DETAILS HERE
**************************/
}
}
/* End of file tasks/smtptest.php */
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "https://github.com/CommanderK5/packer-centos-template/releases/download/0.6.7/vagrant-centos-6.7.box"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
vb.memory = "512"
end
#
# View the documentation for the provider you are using for more
# information on available options.
# Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
# such as FTP and Heroku are also available. See the documentation at
# https://docs.vagrantup.com/v2/push/atlas.html for more information.
# config.push.define "atlas" do |push|
# push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
# end
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# sudo apt-get update
# sudo apt-get install -y apache2
# SHELL
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment