SlideShare uma empresa Scribd logo
1 de 17
MAILCATCHER
Federico Panini
CTO @ fazland.com
email : federico.panini@fazland.com
LikedIn : https://uk.linkedin.com/in/federicopanini
slides : http://www.slideshare.net/FedericoPanini
federico.panini@fazland.com - CTO
Mailcatcher
federico.panini@fazland.com - CTO
& symfony
The problem we faced over the last months was we’re using in dev and
stage environment as mail server the one from our hosting provider…
Mailcatcher
federico.panini@fazland.com - CTO
& symfony
for months we faced these problems :
time latency : we were forced to wait for the emails to come into our inbox
seconds / minutes / .. sometimes hours..
internet : as we were sending through our real mail server, sometimes we
were flooding it causing a late in the email delivery
internet : we need an internet connection to test our platform on our dev
environment
hosting provider : we had different problems related to the low quality of our
mail server provider
Mailcatcher
federico.panini@fazland.com - CTO
& symfony
then we decided to move our mail server to Google fo Business
dedicated email account : we create a dev account as test@fazland.com
this solution cost us MONEY, as real accounts on Google are billed monthly
limitation : the google mail server as a standard policy as a limitation in
sending no more than 500 emails per hour. Testing massive email sending
lead us to some problems
internet : we need an internet connection to test our platform on our dev
environment
Mailcatcher
federico.panini@fazland.com - CTO
& symfony
ok so Google worked better but it was clear that was not a real / clear
solution for the DEVS of Fazland…
What we wanted :
1. Fast email : reading / checking quickly emails sent.
2. Free : a solution without costs
3. internet : we want to tests email without having an internet connection
Mailcatcher
federico.panini@fazland.com - CTO
& symfony
Mailcatcher
NO MORE PROBLEMS !!
federico.panini@fazland.com - CTO
& symfony
Mailcatcher
THE SOLUTION :
federico.panini@fazland.com - CTO
& symfony
What’s Mailcatcher (http://mailcatcher.me/) ?
MailCatcher runs a super simple SMTP server which catches any message
sent to it to display in a web interface. Run mailcatcher, set your favourite
app to deliver to smtp://127.0.0.1:1025 instead of your default SMTP server,
then check out http://127.0.0.1:1080 to see the mail that's arrived so far.
Mailcatcher
federico.panini@fazland.com - CTO
& symfony
Mailcatcher
Catches all mail and stores it for display.
Shows HTML, Plain Text and Source version of messages, as applicable.
Rewrites HTML enabling display of embedded, inline images/etc and open
links in a new window.
Lists attachments and allows separate downloading of parts.
Download original email to view in your native mail client(s).
Command line options to override the default SMTP/HTTP IP and port settings.
Mail appears instantly if your browser supports WebSockets, otherwise updates
every thirty seconds.
Runs as a daemon run in the background.
Sendmail-analogue command, catchmail, makes using mailcatcher from
PHP a lot easier.
Written super-simply in EventMachine, easy to dig in and change.
Keyboard navigation between messages
federico.panini@fazland.com - CTO
install
sudo gem install mailcatcher
Mailcatcher
federico.panini@fazland.com - CTO
install
mailcatcher —http-ip=0.0.0.0
This command tells mailcather to listen on every port.
Mailcatcher
federico.panini@fazland.com - CTO
install
Mailcatcher after start will be available on port 25 as SMTP server and on
port 1080 as WEB mail client to check the email sent through the
application.
localhost 25 — SMTP
http://localhost:1080 — SMTP
Mailcatcher
federico.panini@fazland.com - CTO
symfony config
The symfony setup is really easy :
Mailcatcher
parameters:
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_port: 1025
mailer_user: null
mailer_password: null
federico.panini@fazland.com - CTO
bonus
Setup mailcatcher to boot at startup
Mailcatcher
create a file /etc/init/mailcatcher.conf
start on runlevel [2345]
stop on runlevel [!2345]
exec /usr/bin/env $(which mailcatcher) --foreground --http-ip=0.0.0.0
federico.panini@fazland.com - CTO
bonus
sudo service mailcatcher start
sudo service mailcatcher stop
sudo service mailcatcher restart
sudo service mailcatcher status
Mailcatcher
federico.panini@fazland.com - CTO
Mailcatcher
references
• http://blog.remarkablelabs.com/2013/01/mailcatcher-making-working-with-
email-in-development-mode-a-pleasure
• https://gist.github.com/vincentchalamon/840e7f83c20699d546c7
• https://serversforhackers.com/setting-up-mailcatcher

Mais conteúdo relacionado

Mais procurados

Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateDeep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateAmazon Web Services
 
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...Amazon Web Services
 
Breaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWSBreaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWSAmazon Web Services
 
Appdynamics Training Session
Appdynamics Training SessionAppdynamics Training Session
Appdynamics Training SessionCodvaTech Labs
 
Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...
Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...
Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...Amazon Web Services
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Servicesconfluent
 
Free marketing plan sample of a restaurant (becoming a mini-chain), by www.ma...
Free marketing plan sample of a restaurant (becoming a mini-chain), by www.ma...Free marketing plan sample of a restaurant (becoming a mini-chain), by www.ma...
Free marketing plan sample of a restaurant (becoming a mini-chain), by www.ma...www.marketingPlanMODE.com
 
AWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applicationsAWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applicationsAmazon Web Services
 
Coordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfCoordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfAmazon Web Services
 
Understanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & ConfluentUnderstanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & Confluentconfluent
 
AWS Architecture Case Study: Real-Time Bidding
AWS Architecture Case Study: Real-Time BiddingAWS Architecture Case Study: Real-Time Bidding
AWS Architecture Case Study: Real-Time BiddingAmazon Web Services
 
High Performance Computing on AWS
High Performance Computing on AWSHigh Performance Computing on AWS
High Performance Computing on AWSAmazon Web Services
 
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Amazon Web Services
 
Migrate Enterprise Applications Framework and Guiding Principles.pdf
Migrate Enterprise Applications Framework and Guiding Principles.pdfMigrate Enterprise Applications Framework and Guiding Principles.pdf
Migrate Enterprise Applications Framework and Guiding Principles.pdfAmazon Web Services
 
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...Amazon Web Services
 

Mais procurados (20)

Fundamentals of AWS Security
Fundamentals of AWS SecurityFundamentals of AWS Security
Fundamentals of AWS Security
 
Cost Optimization on AWS
Cost Optimization on AWSCost Optimization on AWS
Cost Optimization on AWS
 
Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateDeep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
 
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)...
 
Breaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWSBreaking Down the Economics and TCO of Migrating to AWS
Breaking Down the Economics and TCO of Migrating to AWS
 
Appdynamics Training Session
Appdynamics Training SessionAppdynamics Training Session
Appdynamics Training Session
 
Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...
Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...
Using AWS CloudTrail and AWS Config to Enhance the Governance and Compliance ...
 
Apache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial ServicesApache Kafka® Use Cases for Financial Services
Apache Kafka® Use Cases for Financial Services
 
Free marketing plan sample of a restaurant (becoming a mini-chain), by www.ma...
Free marketing plan sample of a restaurant (becoming a mini-chain), by www.ma...Free marketing plan sample of a restaurant (becoming a mini-chain), by www.ma...
Free marketing plan sample of a restaurant (becoming a mini-chain), by www.ma...
 
AWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applicationsAWSome Day Online 2020_Module 4: Secure your cloud applications
AWSome Day Online 2020_Module 4: Secure your cloud applications
 
Coordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfCoordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdf
 
Understanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & ConfluentUnderstanding the TCO and ROI of Apache Kafka & Confluent
Understanding the TCO and ROI of Apache Kafka & Confluent
 
AWS Architecture Case Study: Real-Time Bidding
AWS Architecture Case Study: Real-Time BiddingAWS Architecture Case Study: Real-Time Bidding
AWS Architecture Case Study: Real-Time Bidding
 
Cost Optimization on AWS
Cost Optimization on AWSCost Optimization on AWS
Cost Optimization on AWS
 
AWSome Day 2019 - Detroit
AWSome Day 2019 - DetroitAWSome Day 2019 - Detroit
AWSome Day 2019 - Detroit
 
High Performance Computing on AWS
High Performance Computing on AWSHigh Performance Computing on AWS
High Performance Computing on AWS
 
Introduction to AWS Device Farm
Introduction to AWS Device FarmIntroduction to AWS Device Farm
Introduction to AWS Device Farm
 
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
 
Migrate Enterprise Applications Framework and Guiding Principles.pdf
Migrate Enterprise Applications Framework and Guiding Principles.pdfMigrate Enterprise Applications Framework and Guiding Principles.pdf
Migrate Enterprise Applications Framework and Guiding Principles.pdf
 
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
AWS Serverless Interface Building and Cerner's FHIR Experience (HLC401) - AWS...
 

Semelhante a Mailcatcher: Local SMTP Server and Webmail for Testing Emails in Development

How to simplify Email oriented workflow with - Visendo SMTP Extender
How to simplify Email oriented workflow with - Visendo SMTP Extender How to simplify Email oriented workflow with - Visendo SMTP Extender
How to simplify Email oriented workflow with - Visendo SMTP Extender Johannes Cosmin dumitru
 
Mail server using Linux(Ubuntu)
Mail server using Linux(Ubuntu)Mail server using Linux(Ubuntu)
Mail server using Linux(Ubuntu)Navjot Navi
 
Email/Ad/Marketing 20100130
Email/Ad/Marketing 20100130Email/Ad/Marketing 20100130
Email/Ad/Marketing 20100130dsoprea
 
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...Mitch Cohen
 
File server(h.m merajul hasan)
File server(h.m merajul hasan)File server(h.m merajul hasan)
File server(h.m merajul hasan)Merajulhasanraj
 
MarvelSoft SchoolAdmin school software lan setup guide
MarvelSoft SchoolAdmin school software lan setup guideMarvelSoft SchoolAdmin school software lan setup guide
MarvelSoft SchoolAdmin school software lan setup guideRanganath Shivaram
 
10135 a 05
10135 a 0510135 a 05
10135 a 05Bố Su
 
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...NerdGirlJess
 
IBM ConnectED 2015 - BP103: Solving the Weird, the Obscure, and the Mind-Bending
IBM ConnectED 2015 - BP103: Solving the Weird, the Obscure, and the Mind-BendingIBM ConnectED 2015 - BP103: Solving the Weird, the Obscure, and the Mind-Bending
IBM ConnectED 2015 - BP103: Solving the Weird, the Obscure, and the Mind-BendingLuis Guirigay
 
File server on using cisco packet tracer
File server on using cisco packet tracerFile server on using cisco packet tracer
File server on using cisco packet tracerSabrinaUporna
 
NY Web Perf Meetup: Peeling the Web Performance Onion
NY Web Perf Meetup: Peeling the Web Performance OnionNY Web Perf Meetup: Peeling the Web Performance Onion
NY Web Perf Meetup: Peeling the Web Performance OnionCatchpoint Systems
 
Ftp server configuration on cisco packet tracer
Ftp server configuration on cisco packet tracerFtp server configuration on cisco packet tracer
Ftp server configuration on cisco packet tracerprodhan999
 
MarvelSoft SchoolAdmin Offline LAN Access Setup Guide
MarvelSoft SchoolAdmin Offline LAN Access Setup GuideMarvelSoft SchoolAdmin Offline LAN Access Setup Guide
MarvelSoft SchoolAdmin Offline LAN Access Setup GuideRanganath Shivaram
 
CSE422 Section 002 – Computer Networking Fall 2018 Ho.docx
CSE422 Section 002 – Computer Networking Fall 2018  Ho.docxCSE422 Section 002 – Computer Networking Fall 2018  Ho.docx
CSE422 Section 002 – Computer Networking Fall 2018 Ho.docxmydrynan
 

Semelhante a Mailcatcher: Local SMTP Server and Webmail for Testing Emails in Development (20)

How to simplify Email oriented workflow with - Visendo SMTP Extender
How to simplify Email oriented workflow with - Visendo SMTP Extender How to simplify Email oriented workflow with - Visendo SMTP Extender
How to simplify Email oriented workflow with - Visendo SMTP Extender
 
Mail
MailMail
Mail
 
Mail server using Linux(Ubuntu)
Mail server using Linux(Ubuntu)Mail server using Linux(Ubuntu)
Mail server using Linux(Ubuntu)
 
Email/Ad/Marketing 20100130
Email/Ad/Marketing 20100130Email/Ad/Marketing 20100130
Email/Ad/Marketing 20100130
 
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
Putting *Sparkle* in Your Social Applications! Customization and Branding wit...
 
File server(h.m merajul hasan)
File server(h.m merajul hasan)File server(h.m merajul hasan)
File server(h.m merajul hasan)
 
MarvelSoft SchoolAdmin school software lan setup guide
MarvelSoft SchoolAdmin school software lan setup guideMarvelSoft SchoolAdmin school software lan setup guide
MarvelSoft SchoolAdmin school software lan setup guide
 
Mail server
Mail serverMail server
Mail server
 
Mail server
Mail serverMail server
Mail server
 
ASS2
ASS2ASS2
ASS2
 
10135 a 05
10135 a 0510135 a 05
10135 a 05
 
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...
 
IBM ConnectED 2015 - BP103: Solving the Weird, the Obscure, and the Mind-Bending
IBM ConnectED 2015 - BP103: Solving the Weird, the Obscure, and the Mind-BendingIBM ConnectED 2015 - BP103: Solving the Weird, the Obscure, and the Mind-Bending
IBM ConnectED 2015 - BP103: Solving the Weird, the Obscure, and the Mind-Bending
 
File server on using cisco packet tracer
File server on using cisco packet tracerFile server on using cisco packet tracer
File server on using cisco packet tracer
 
NY Web Perf Meetup: Peeling the Web Performance Onion
NY Web Perf Meetup: Peeling the Web Performance OnionNY Web Perf Meetup: Peeling the Web Performance Onion
NY Web Perf Meetup: Peeling the Web Performance Onion
 
Lecture19
Lecture19Lecture19
Lecture19
 
Ftp server configuration on cisco packet tracer
Ftp server configuration on cisco packet tracerFtp server configuration on cisco packet tracer
Ftp server configuration on cisco packet tracer
 
MarvelSoft SchoolAdmin Offline LAN Access Setup Guide
MarvelSoft SchoolAdmin Offline LAN Access Setup GuideMarvelSoft SchoolAdmin Offline LAN Access Setup Guide
MarvelSoft SchoolAdmin Offline LAN Access Setup Guide
 
SMTP(true)
SMTP(true)SMTP(true)
SMTP(true)
 
CSE422 Section 002 – Computer Networking Fall 2018 Ho.docx
CSE422 Section 002 – Computer Networking Fall 2018  Ho.docxCSE422 Section 002 – Computer Networking Fall 2018  Ho.docx
CSE422 Section 002 – Computer Networking Fall 2018 Ho.docx
 

Mais de Federico Panini

Long life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadLong life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadFederico Panini
 
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...Federico Panini
 
Vagrant boxes with x, export display, chrome headless
Vagrant boxes with x, export display, chrome headlessVagrant boxes with x, export display, chrome headless
Vagrant boxes with x, export display, chrome headlessFederico Panini
 
Aws vpc : addressing cidr
Aws vpc : addressing cidrAws vpc : addressing cidr
Aws vpc : addressing cidrFederico Panini
 
Git in pills : git stash
Git in pills : git stashGit in pills : git stash
Git in pills : git stashFederico Panini
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Federico Panini
 
Elasticsearch a quick introduction
Elasticsearch a quick introductionElasticsearch a quick introduction
Elasticsearch a quick introductionFederico Panini
 
Elk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explainedElk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explainedFederico Panini
 

Mais de Federico Panini (8)

Long life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is deadLong life to vagrant… Vagrant is dead
Long life to vagrant… Vagrant is dead
 
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
Machine Learning: strategie di collaborative filtering nelle piattaforme onli...
 
Vagrant boxes with x, export display, chrome headless
Vagrant boxes with x, export display, chrome headlessVagrant boxes with x, export display, chrome headless
Vagrant boxes with x, export display, chrome headless
 
Aws vpc : addressing cidr
Aws vpc : addressing cidrAws vpc : addressing cidr
Aws vpc : addressing cidr
 
Git in pills : git stash
Git in pills : git stashGit in pills : git stash
Git in pills : git stash
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)
 
Elasticsearch a quick introduction
Elasticsearch a quick introductionElasticsearch a quick introduction
Elasticsearch a quick introduction
 
Elk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explainedElk - Elasticsearch Logstash Kibana stack explained
Elk - Elasticsearch Logstash Kibana stack explained
 

Último

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 

Último (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 

Mailcatcher: Local SMTP Server and Webmail for Testing Emails in Development

  • 1. MAILCATCHER Federico Panini CTO @ fazland.com email : federico.panini@fazland.com LikedIn : https://uk.linkedin.com/in/federicopanini slides : http://www.slideshare.net/FedericoPanini
  • 3. federico.panini@fazland.com - CTO & symfony The problem we faced over the last months was we’re using in dev and stage environment as mail server the one from our hosting provider… Mailcatcher
  • 4. federico.panini@fazland.com - CTO & symfony for months we faced these problems : time latency : we were forced to wait for the emails to come into our inbox seconds / minutes / .. sometimes hours.. internet : as we were sending through our real mail server, sometimes we were flooding it causing a late in the email delivery internet : we need an internet connection to test our platform on our dev environment hosting provider : we had different problems related to the low quality of our mail server provider Mailcatcher
  • 5. federico.panini@fazland.com - CTO & symfony then we decided to move our mail server to Google fo Business dedicated email account : we create a dev account as test@fazland.com this solution cost us MONEY, as real accounts on Google are billed monthly limitation : the google mail server as a standard policy as a limitation in sending no more than 500 emails per hour. Testing massive email sending lead us to some problems internet : we need an internet connection to test our platform on our dev environment Mailcatcher
  • 6. federico.panini@fazland.com - CTO & symfony ok so Google worked better but it was clear that was not a real / clear solution for the DEVS of Fazland… What we wanted : 1. Fast email : reading / checking quickly emails sent. 2. Free : a solution without costs 3. internet : we want to tests email without having an internet connection Mailcatcher
  • 7. federico.panini@fazland.com - CTO & symfony Mailcatcher NO MORE PROBLEMS !!
  • 8. federico.panini@fazland.com - CTO & symfony Mailcatcher THE SOLUTION :
  • 9. federico.panini@fazland.com - CTO & symfony What’s Mailcatcher (http://mailcatcher.me/) ? MailCatcher runs a super simple SMTP server which catches any message sent to it to display in a web interface. Run mailcatcher, set your favourite app to deliver to smtp://127.0.0.1:1025 instead of your default SMTP server, then check out http://127.0.0.1:1080 to see the mail that's arrived so far. Mailcatcher
  • 10. federico.panini@fazland.com - CTO & symfony Mailcatcher Catches all mail and stores it for display. Shows HTML, Plain Text and Source version of messages, as applicable. Rewrites HTML enabling display of embedded, inline images/etc and open links in a new window. Lists attachments and allows separate downloading of parts. Download original email to view in your native mail client(s). Command line options to override the default SMTP/HTTP IP and port settings. Mail appears instantly if your browser supports WebSockets, otherwise updates every thirty seconds. Runs as a daemon run in the background. Sendmail-analogue command, catchmail, makes using mailcatcher from PHP a lot easier. Written super-simply in EventMachine, easy to dig in and change. Keyboard navigation between messages
  • 11. federico.panini@fazland.com - CTO install sudo gem install mailcatcher Mailcatcher
  • 12. federico.panini@fazland.com - CTO install mailcatcher —http-ip=0.0.0.0 This command tells mailcather to listen on every port. Mailcatcher
  • 13. federico.panini@fazland.com - CTO install Mailcatcher after start will be available on port 25 as SMTP server and on port 1080 as WEB mail client to check the email sent through the application. localhost 25 — SMTP http://localhost:1080 — SMTP Mailcatcher
  • 14. federico.panini@fazland.com - CTO symfony config The symfony setup is really easy : Mailcatcher parameters: mailer_transport: smtp mailer_host: 127.0.0.1 mailer_port: 1025 mailer_user: null mailer_password: null
  • 15. federico.panini@fazland.com - CTO bonus Setup mailcatcher to boot at startup Mailcatcher create a file /etc/init/mailcatcher.conf start on runlevel [2345] stop on runlevel [!2345] exec /usr/bin/env $(which mailcatcher) --foreground --http-ip=0.0.0.0
  • 16. federico.panini@fazland.com - CTO bonus sudo service mailcatcher start sudo service mailcatcher stop sudo service mailcatcher restart sudo service mailcatcher status Mailcatcher
  • 17. federico.panini@fazland.com - CTO Mailcatcher references • http://blog.remarkablelabs.com/2013/01/mailcatcher-making-working-with- email-in-development-mode-a-pleasure • https://gist.github.com/vincentchalamon/840e7f83c20699d546c7 • https://serversforhackers.com/setting-up-mailcatcher