Releases: arcage/crystal-email
v0.7.1: Crystal 1.12.x support
v0.7.0: Reconsidering Methods.
- (breaking-change) Require
helo_domainoption when creating EMail::Message::Config object. - (breaking-change) Change the 2nd String argument name of
#sender,#return_path,#from,#to,#cc,#bccand#reply-tomethods of EMail::Message class fromsender_nametomailbox_name. - Allow taking an array of String or EMail::Address object by
#from,#to,#cc,#bccand#reply-tomethod of EMail::Message class to set multiple email address at once. - Add
EMail::Message#clear_**methods for From, To, Cc, Bcc and Reply-To headers to delete all email address set the header. - Add
EMail::Message#clear_custom_headermethod to delete custom headers with specific name. - Cleanup code and docs.
v0.6.4: Fix warning for deprecated URI.escape method.
- Support crystal compiler version is now 1.2.0 or later
v0.6.3: Fit shards.yml to Crystal 1.0
Update email.cr
v0.6.2: Fix missing HELO command on STARTTLS session
Merge pull request #66 from arcage/fix_starttls_helo Fix missing HELO command on STARTTLS session.
v0.6.1: Code cleanup
- Remove unused
require.
v0.6.0: SMTPS support
-
Add SMTPS(SMTP over SSL/TLS) support.
Now, you can specify how TLS is used(SMTPS or STARTTLS) byEMail::Client::TLSMode. -
(breaking change) Replace the argument of
EMail::Client::Config#use_tlsfrom port number toEMail::Client::TLSmode.
If you want to change port number, you should specify it in constructor or using#port=method. -
(deprecated) For security reasons, the default(IP based) helo domain will be removed at the next update.
After that,EMail::Client::Configobject requireshelo_domainargument when it created.
v0.5.0: Support new Log module on Crystal 0.34.0.
-
(breaking change) Replace
loggerproperty(oldLoggertype) onEMail::Client::Configclass tologproperty(newLogtype).
The new one is used as the client specific logger.
Thelogger : Loggernamed argument ofEMail::Client::Config.createmethod is replaced to thelog : Logtoo. -
(breaking change) Remove
log_***named arguments fromEMail::Client::Config.create -
Add
.logclass method toEMail::Clinet.
This returns the default logger. -
Add
.log_level=,.log_io=,.log_formatter=class methods toEMail::Clinet.
These change behavior of the default logger. -
(breaking change) Default
on_fatal_errorhandler never exit the program, just re-raise the exception raised during the SMTP session.
In almost cases, the program will be stoped by the unhandled exception.
But, you may need to exit the program explicitly in some cases.
New logging behavior
You can use two kinds of logger(Log type objects), the default logger and the client specific logger.
The default logger is declared on the EMail::Client type. It can be got by EMail::Client.log, and change its behavior by EMail::Client.log_***= methods.
On the other hand, the client specific logger will be set to EMail::Client instance itself by EMail::Client::Config setting. With this, you can use your own logger for the EMail::Client object.
If the EMail::Client object has the client specific logger, the client use it to output the log entries. Otherwise, the client use the default logger.
v0.4.6: Fix email address validation
Now, the email address that have the domain part without "." is acceped.
v0.4.5: Add specs and CI
EMail::Client#sendreturns sending result asBool.- Add minimal specs.
- Add settings for TravisCI