Skip to content

Releases: arcage/crystal-email

v0.7.1: Crystal 1.12.x support

11 Jun 04:24
60fa798

Choose a tag to compare

  • Change internal types of *_timeout properties in EMail::Client::Config class to Time::Span?

v0.7.0: Reconsidering Methods.

11 Mar 04:09
05f3444

Choose a tag to compare

  • (breaking-change) Require helo_domain option when creating EMail::Message::Config object.
  • (breaking-change) Change the 2nd String argument name of #sender, #return_path, #from, #to, #cc, #bcc and #reply-to methods of EMail::Message class from sender_name to mailbox_name.
  • Allow taking an array of String or EMail::Address object by #from, #to, #cc, #bcc and #reply-to method 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_header method to delete custom headers with specific name.
  • Cleanup code and docs.

v0.6.4: Fix warning for deprecated URI.escape method.

09 Feb 23:22
3899a23

Choose a tag to compare

  • Support crystal compiler version is now 1.2.0 or later

v0.6.3: Fit shards.yml to Crystal 1.0

26 Mar 02:51
9a6d6c7

Choose a tag to compare

Pre-release
Update email.cr

v0.6.2: Fix missing HELO command on STARTTLS session

13 Jul 00:38
6bab04b

Choose a tag to compare

Merge pull request #66 from arcage/fix_starttls_helo

Fix missing HELO command on STARTTLS session.

v0.6.1: Code cleanup

04 May 12:02
89c473c

Choose a tag to compare

v0.6.1: Code cleanup Pre-release
Pre-release
  • Remove unused require.

v0.6.0: SMTPS support

18 Apr 05:49
4bb2d60

Choose a tag to compare

v0.6.0: SMTPS support Pre-release
Pre-release
  • Add SMTPS(SMTP over SSL/TLS) support.
    Now, you can specify how TLS is used(SMTPS or STARTTLS) by EMail::Client::TLSMode.

  • (breaking change) Replace the argument of EMail::Client::Config#use_tls from port number to EMail::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::Config object requires helo_domain argument when it created.

v0.5.0: Support new Log module on Crystal 0.34.0.

12 Apr 14:09
f77b954

Choose a tag to compare

  • (breaking change) Replace logger property(old Logger type) on EMail::Client::Config class to log property(new Log type).
    The new one is used as the client specific logger.
    The logger : Logger named argument of EMail::Client::Config.create method is replaced to the log : Log too.

  • (breaking change) Remove log_*** named arguments from EMail::Client::Config.create

  • Add .log class method to EMail::Clinet.
    This returns the default logger.

  • Add .log_level=, .log_io=, .log_formatter= class methods to EMail::Clinet.
    These change behavior of the default logger.

  • (breaking change) Default on_fatal_error handler 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

10 Jan 06:05
d4d82d8

Choose a tag to compare

Pre-release

Now, the email address that have the domain part without "." is acceped.

v0.4.5: Add specs and CI

17 Dec 05:15

Choose a tag to compare

Pre-release
  • EMail::Client#send returns sending result as Bool.
  • Add minimal specs.
  • Add settings for TravisCI