techendeavors / emailautodiscover
Takes an email address or domain and attempts to get the autoconfiguration settings necessary to configure an email client.
1.0.2
2018-07-23 23:07 UTC
Requires
- php: ^7.1
- guzzlehttp/guzzle: ^6.3
- illuminate/contracts: ^5.6
- illuminate/support: ^5.6
- techendeavors/dnsoverhttps: ^1.0
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-10-24 13:06:09 UTC
README
Takes an email address or domain and attempts to get the autoconfiguration settings necessary to configure an email client.
To Do
- [ ] Check for MX records first
- [ ] Make sure all variables are set by constants, but can be overridden with config files
- [ ] Check for loading of DNSOverHttps before using it
- [ ] Handle various Guzzle/Curl errors more cleanly by catching exceptions
- [ ] Fix Exchange autoconfigure detection
- [ ] Create a configuration guesswork system
- [ ] Check MX records
- [ ] Check SPF records
- [ ] Check for common mail server 3rd level domains
- [ ] Connect to possible 3rd level domains at common ports
- [ ] Look for common webmail 3rd level domains and try to determine webmail platform
Installation
You can install the package via composer:
composer require techendeavors/emailautodiscover
Usage
>>> $test = new EmailAutoDiscover;
=> Techendeavors\EmailAutoDiscover\EmailAutoDiscover {#2863}
>>> $test->check('gmail.com')
=> [
"displayName" => "Google Mail",
"displayShortName" => "GMail",
"incoming" => [
[
"type" => "imap",
"hostname" => "imap.gmail.com",
"port" => "993",
"socketType" => "SSL",
"username" => "%EMAILADDRESS%",
"authentication" => [
"OAuth2",
"password-cleartext",
],
],
[
"type" => "pop3",
"hostname" => "pop.gmail.com",
"port" => "995",
"socketType" => "SSL",
"username" => "%EMAILADDRESS%",
"authentication" => "password-cleartext",
],
],
"outgoing" => [
[
"type" => "smtp",
"hostname" => "smtp.gmail.com",
"port" => "465",
"socketType" => "SSL",
"username" => "%EMAILADDRESS%",
"authentication" => [
"OAuth2",
"password-cleartext",
],
],
],
"documenation" => [
[
"url" => "http://mail.google.com/support/bin/answer.py?answer=13273",
"description" => "How to enable IMAP/POP3 in GMail",
],
[
"url" => "http://mail.google.com/support/bin/topic.py?topic=12806",
"description" => "How to configure email clients for IMAP",
],
[
"url" => "http://mail.google.com/support/bin/topic.py?topic=12805",
"description" => "How to configure email clients for POP3",
],
[
"url" => "http://mail.google.com/support/bin/answer.py?answer=86399",
"description" => "How to configure TB 2.0 for POP3",
],
],
"source" => "https://autoconfig.thunderbird.net/v1.1/gmail.com",
]
>>>
>>> $test->check('techendeavors.com')
=> [
"displayName" => "Techendeavors Mail",
"displayShortName" => "Techendeavors",
"incoming" => [
[
"type" => "imap",
"hostname" => "mail.techendeavors.com",
"port" => "143",
"socketType" => "STARTTLS",
"username" => "%EMAILADDRESS%",
"authentication" => "password-cleartext",
],
],
"outgoing" => [
[
"type" => "smtp",
"hostname" => "mail.techendeavors.com",
"port" => "587",
"socketType" => "STARTTLS",
"username" => "%EMAILADDRESS%",
"authentication" => "password-cleartext",
],
],
"source" => "https://autoconfig.techendeavors.com/mail/config-v1.1.xml",
]
>>>
>>> $test->check('example.com')
=> false
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please use the issue tracker
Credits
License
The MIT License (MIT). Please see License File for more information.