CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

24 April, 2021

Easily Test Email with MailThief

 Programing Coderfunda     April 24, 2021     Packages, php     No comments   

 

Easily Test Email with MailThief

MailThief is a new package by Tighten Co. that provides a fake mailer for your Laravel application. This makes it easy to test email without actually sending any.

To better explain how this package works take a look at the following example from the project.

First, pretend you have a registration route that sends the user a welcome email:

Route::post('register', function () {
// <snip> Validation, create account, etc. </snip>

Mail::send('emails.welcome', [], function ($m) {
$email = request('email');
$m->to($email),
$m->subject('Welcome to my app!');
$m->from('noreply@example.com');
$m->bcc('notifications@example.com');
});

// <snip> Return response </snip>
});

Typically testing this would be pretty difficult, but with MailThief it’s simple:

use MailThief\Facades\MailThief;

class RegistrationTest extends TestCase
{
public function test_new_users_are_sent_a_welcome_email()
{
// Block and intercept outgoing mail, important!
MailThief::hijack();

$this->post('register', [
'name' => 'John Doe',
'email' => 'john@example.com',
'password' => 'secret',
]);

// Check that an email was sent to this email address
$this->assertTrue(MailThief::hasMessageFor('john@example.com'));

// BCC addresses are included too
$this->assertTrue(MailThief::hasMessageFor('notifications@example.com'));

// Make sure the email has the correct subject
$this->assertEquals('Welcome to my app!', MailThief::lastMessage()->subject);

// Make sure the email was sent from the correct address
// (`from` can be a list, so we return it as a collection)
$this->assertEquals('noreply@example.com', MailThief::lastMessage()->from->first());
}
}

  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Generate Migrations from an Existing Database With the Migration Generator Package
    Laravel Migration Generator Migration Generator for Laravel is a package by Bennett Treptow to generate migrations from existing database ...
  • Tailwindcss best practices for responsive design
    Tailwind CSS provides powerful utilities for responsive design out of the box. To use it effectively and maintain clean, scalable code, here...
  • Search Through Models with Laravel Searchable
      Laravel Searchable   is a package by   Spatie   to search through models and other sources pragmatically. Using this package, you can get ...
  • Laravel Razorpay Integration | Payment gateway integration Laravel in 30 mins | Laravel Razorpay
    1 Integration of Razorpay with Laravel. In this tutorial, I have taught how to integrate payment gateway with laravel with mini-project. If...
  • Vue.js Render functions
        Vue.js Render functions Vue.js recommends us to use templates to build HTML. Here, we can use the render function as a closer-to-the-co...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (69)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • ►  2026 (3)
    • ►  07/26 - 08/02 (2)
    • ►  06/28 - 07/05 (1)
  • ►  2025 (4)
    • ►  07/06 - 07/13 (2)
    • ►  06/29 - 07/06 (2)
  • ►  2024 (486)
    • ►  09/15 - 09/22 (30)
    • ►  09/08 - 09/15 (35)
    • ►  09/01 - 09/08 (35)
    • ►  08/11 - 08/18 (2)
    • ►  08/04 - 08/11 (33)
    • ►  07/28 - 08/04 (30)
    • ►  07/07 - 07/14 (11)
    • ►  06/30 - 07/07 (35)
    • ►  06/23 - 06/30 (5)
    • ►  06/02 - 06/09 (31)
    • ►  05/26 - 06/02 (20)
    • ►  05/05 - 05/12 (29)
    • ►  04/28 - 05/05 (26)
    • ►  04/07 - 04/14 (10)
    • ►  03/31 - 04/07 (34)
    • ►  03/24 - 03/31 (10)
    • ►  03/03 - 03/10 (35)
    • ►  02/25 - 03/03 (15)
    • ►  02/04 - 02/11 (22)
    • ►  01/28 - 02/04 (30)
    • ►  01/07 - 01/14 (8)
  • ►  2023 (484)
    • ►  12/31 - 01/07 (35)
    • ►  12/24 - 12/31 (10)
    • ►  12/03 - 12/10 (33)
    • ►  11/26 - 12/03 (20)
    • ►  11/05 - 11/12 (35)
    • ►  10/29 - 11/05 (20)
    • ►  10/22 - 10/29 (9)
    • ►  10/15 - 10/22 (7)
    • ►  10/08 - 10/15 (9)
    • ►  10/01 - 10/08 (10)
    • ►  09/24 - 10/01 (9)
    • ►  09/17 - 09/24 (9)
    • ►  09/10 - 09/17 (7)
    • ►  09/03 - 09/10 (9)
    • ►  08/27 - 09/03 (9)
    • ►  08/20 - 08/27 (8)
    • ►  08/13 - 08/20 (8)
    • ►  08/06 - 08/13 (8)
    • ►  07/30 - 08/06 (8)
    • ►  07/23 - 07/30 (7)
    • ►  07/16 - 07/23 (8)
    • ►  07/09 - 07/16 (7)
    • ►  07/02 - 07/09 (8)
    • ►  06/25 - 07/02 (7)
    • ►  06/18 - 06/25 (7)
    • ►  06/11 - 06/18 (7)
    • ►  06/04 - 06/11 (11)
    • ►  05/28 - 06/04 (7)
    • ►  05/21 - 05/28 (8)
    • ►  05/14 - 05/21 (11)
    • ►  05/07 - 05/14 (7)
    • ►  04/30 - 05/07 (7)
    • ►  04/23 - 04/30 (8)
    • ►  04/16 - 04/23 (9)
    • ►  04/09 - 04/16 (7)
    • ►  04/02 - 04/09 (4)
    • ►  03/26 - 04/02 (21)
    • ►  03/19 - 03/26 (2)
    • ►  03/12 - 03/19 (9)
    • ►  03/05 - 03/12 (26)
    • ►  02/26 - 03/05 (25)
    • ►  01/15 - 01/22 (7)
    • ►  01/08 - 01/15 (1)
  • ►  2022 (1037)
    • ►  12/11 - 12/18 (13)
    • ►  12/04 - 12/11 (1)
    • ►  11/27 - 12/04 (40)
    • ►  11/06 - 11/13 (1)
    • ►  10/16 - 10/23 (13)
    • ►  09/04 - 09/11 (5)
    • ►  08/21 - 08/28 (24)
    • ►  08/14 - 08/21 (24)
    • ►  07/03 - 07/10 (9)
    • ►  06/19 - 06/26 (3)
    • ►  05/29 - 06/05 (3)
    • ►  05/22 - 05/29 (3)
    • ►  05/15 - 05/22 (109)
    • ►  05/01 - 05/08 (7)
    • ►  04/24 - 05/01 (7)
    • ►  04/17 - 04/24 (64)
    • ►  04/10 - 04/17 (115)
    • ►  04/03 - 04/10 (73)
    • ►  03/27 - 04/03 (77)
    • ►  03/13 - 03/20 (2)
    • ►  03/06 - 03/13 (25)
    • ►  02/27 - 03/06 (18)
    • ►  02/20 - 02/27 (153)
    • ►  02/13 - 02/20 (187)
    • ►  01/30 - 02/06 (45)
    • ►  01/23 - 01/30 (15)
    • ►  01/16 - 01/23 (1)
  • ▼  2021 (412)
    • ►  10/24 - 10/31 (2)
    • ►  07/25 - 08/01 (1)
    • ►  07/11 - 07/18 (10)
    • ►  06/13 - 06/20 (29)
    • ►  05/23 - 05/30 (1)
    • ►  05/02 - 05/09 (24)
    • ►  04/25 - 05/02 (24)
    • ▼  04/18 - 04/25 (112)
      • Query Tracer Package
      • Blogify – Add a blog to an existing Laravel App
      • Laravel API Generator
      • Laravel Angular Admin Starter Kit
      • Laravel Analytics v2
      • Laravel and Elasticsearch
      • Easily Integrate HTTP 2 Server Push with a Laravel...
      • Easily Test Email with MailThief
      • New Community Project: Laravel Notification Channels
      • Laravel Scout is now open for developer testing
      • TNTSearch Driver is now available for Laravel Scout
      • Laravel Passport – Easily setup your own OAuth2 se...
      • Easily deleting old soft-deleted records with Quic...
      • Laravel Lambo – A package to quickly scaffold out ...
      • Improved model generation with Laracademy Generators
      • Edit your environment files through the browser wi...
      • Laravel Uptime Monitor
      • View your routes through the browser with the Pret...
      • Laravel Blade SVG Directive
      • Laravel Missing Page Redirector Package
      • Laravel Charting Package
      • Build your own Slack Bot with this PHP library
      • Store your translations in the database with Larav...
      • Build Custom Admin Panels With Backpack for Laravel
      • Easily Create Stripe Tokens and Cards For Testing
      • Laravel Countries and Currencies Package
      • Laravel Decomposer – List your dependencies and en...
      • Laravel Package To Login As Other Users During Dev...
      • Laravel OPcache Package
      • LaraCSV – Generate CSV files from your Eloquent mo...
      • Interactive Make Command
      • Laravel Language Manager
      • Interactive Make Command
      • Laravel Sketchpad
      • Invisible reCAPTCHA Integration with Laravel
      • Partyline is a new package that allows you to outp...
      • Bring Laravel Collections to JavaScript with Colle...
      • Homeboy Allows You to Automate Adding Sites to Hom...
      • Bouncer a Laravel Package for Role and Ability Aut...
      • Two Best Laravel Packages to Manage Roles Permissions
      • Track Laravel Model Changes with Laravel Auditing
      • BotMan 2.0 PHP Chatbot Framework
      • Laravel Shareable Models Package
      • Appstract Laravel Blade Directives
      • Laravel Stats Code Statistics for your Laravel Pro...
      • Protect your webhooks with Laravel Shield
      • Collision Is An Error Handler Framework for Consol...
      • Bootstrap Laravel 5 Packages with Bootpack
      • Reload Your Laravel Tinker Session with Tinx
      • Continuous Testing Dashboard for Laravel
      • Vessel is a Lightweight Docker Environment for Lar...
      • A Package for Laravel Blade Extension Classes
      • Bootstrap 4 Laravel Preset for Laravel 5.5
      • A Zero-config Purgecss Wrapper for Laravel Mix
      • Beautiful PHP CLI Menus for Laravel Artisan Commands
      • Under Construction Package
      • Laravel Model Caching Package: Model-caching made ...
      • Add a Check For Pwned Passwords In Your Laravel Fo...
      • Guzzle Advanced Throttling Middleware and Laravel ...
      • Laravel Excel 3.0
      • PHPUnit Pretty Result Printer Package
      • Laravel Log Enhancer Package
      • Laravel Page Cache for Lightning Fast Page Loads
      • HTTP Cache Packages for Laravel
      • Cascading Soft Deletes with Laravel 5
      • Count Models With the Laravel Visits Package
      • Laravel View X-Ray
      • Laravel Love Likes and Dislikes for Eloquent Models
      • Laravel Befriended
      • Speed Up Laravel on Top of Swoole
      • Laravel Schemaless Attributes Package
      • Laravel Credentials Package for Encrypted Applicat...
      • Eloquent Sluggable Package
      • Use Laravel GeoIP to Determine Users’ Geographical...
      • A Stand-Alone Laravel Slack Package
      • Plug and Play Avatars in Laravel with Laravolt
      • Laravel JSON – A Simple Wrapper Around JSON for Ca...
      • Laravel Localization Package for Vue
      • Laravel Breadcrumbs Package
      • Automatically Open Files on Artisan “Make” Commands
      • Eventy WordPress-like Actions and Filters for Laravel
      • Laravel Tenancy – Multi-Tenant Package for Laravel
      • Laravel Self-Diagnosis Package
      • Laravel Relationship Events
      • Laravel Enum Package
      • LaRecipe: Documentation with Markdown in Your Lara...
      • Laratables Ajax support of DataTables in Laravel
      • Luhn Algorithm Package for Laravel
      • Laravel View Models
      • Laravel Mail Viewer
      • Laravel Proximage A Handy Package for Proxying Images
      • Laravel Database Hashing Package
      • Laravel Tag Helper
      • PHP Semantic Versioning Helper
      • Laravel WebSockets Package Released
      • Accountant Laravel Package
      • Five Hidden Features of the Laravel Excel Package
      • Laravel Mailbox
      • Subdomain Multitenency Package for Laravel
      • Laravel Options Package
      • Laravel Favicon Package
      • Laravel Tinker Server Package
      • Snipe Migrations Laravel Package
      • PHPUnit SpeedTrap
      • Customizing Stubs in Laravel
      • Bagisto E-commerce Platform
      • GitDown Parsing Markdown in PHP
      • Laravel Personal Data Export
      • Laravel HATEOAS Package
      • Register Multilingual Routes in Laravel
      • Laravel Queue Driver for RabbitMQ
      • Laravel Cashier Mollie V1 Is Now Available
    • ►  04/11 - 04/18 (1)
    • ►  04/04 - 04/11 (6)
    • ►  03/28 - 04/04 (86)
    • ►  03/21 - 03/28 (19)
    • ►  03/14 - 03/21 (2)
    • ►  03/07 - 03/14 (10)
    • ►  02/28 - 03/07 (1)
    • ►  02/21 - 02/28 (29)
    • ►  02/14 - 02/21 (13)
    • ►  02/07 - 02/14 (12)
    • ►  01/31 - 02/07 (6)
    • ►  01/17 - 01/24 (2)
    • ►  01/10 - 01/17 (8)
    • ►  01/03 - 01/10 (14)
  • ►  2020 (376)
    • ►  12/27 - 01/03 (37)
    • ►  12/20 - 12/27 (92)
    • ►  12/13 - 12/20 (29)
    • ►  12/06 - 12/13 (37)
    • ►  11/29 - 12/06 (4)
    • ►  11/15 - 11/22 (14)
    • ►  11/08 - 11/15 (8)
    • ►  11/01 - 11/08 (2)
    • ►  10/18 - 10/25 (14)
    • ►  10/11 - 10/18 (16)
    • ►  10/04 - 10/11 (10)
    • ►  09/20 - 09/27 (10)
    • ►  09/06 - 09/13 (19)
    • ►  08/30 - 09/06 (26)
    • ►  08/23 - 08/30 (4)
    • ►  08/16 - 08/23 (2)
    • ►  07/12 - 07/19 (48)
    • ►  05/17 - 05/24 (2)
    • ►  01/05 - 01/12 (2)
  • ►  2019 (74)
    • ►  07/07 - 07/14 (6)
    • ►  06/16 - 06/23 (6)
    • ►  02/10 - 02/17 (17)
    • ►  01/13 - 01/20 (37)
    • ►  01/06 - 01/13 (8)
  • ►  2018 (376)
    • ►  12/30 - 01/06 (24)
    • ►  12/16 - 12/23 (8)
    • ►  12/09 - 12/16 (98)
    • ►  12/02 - 12/09 (16)
    • ►  11/18 - 11/25 (36)
    • ►  11/04 - 11/11 (18)
    • ►  10/28 - 11/04 (10)
    • ►  10/21 - 10/28 (26)
    • ►  10/14 - 10/21 (52)
    • ►  10/07 - 10/14 (4)
    • ►  09/30 - 10/07 (2)
    • ►  09/23 - 09/30 (68)
    • ►  09/16 - 09/23 (4)
    • ►  09/09 - 09/16 (4)
    • ►  08/26 - 09/02 (6)

Data Publish News

Loading...

Al Jazeera – Breaking News, World News and Video from Al Jazeera

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda