# # spec file for package perl-Email-MIME-Kit # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define cpan_name Email-MIME-Kit Name: perl-Email-MIME-Kit Version: 3.0.8 Release: 0 # 3.000008 -> normalize -> 3.0.8 %define cpan_version 3.000008 License: Artistic-1.0 OR GPL-1.0-or-later Summary: Build messages from templates URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/R/RJ/RJBS/%{cpan_name}-%{cpan_version}.tar.gz Source1: cpanspec.yml Source100: README.md BuildArch: noarch BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Email::MIME) >= 1.930 BuildRequires: perl(Email::MIME::Creator) BuildRequires: perl(Email::MessageID) >= 1.400 BuildRequires: perl(ExtUtils::MakeMaker) >= 6.78 BuildRequires: perl(JSON) >= 2 BuildRequires: perl(Module::Runtime) BuildRequires: perl(Moose) >= 0.65 BuildRequires: perl(Moose::Role) BuildRequires: perl(Moose::Util::TypeConstraints) BuildRequires: perl(String::RewritePrefix) BuildRequires: perl(Test::Deep) BuildRequires: perl(Test::More) >= 0.96 BuildRequires: perl(YAML::XS) Requires: perl(Email::MIME) >= 1.930 Requires: perl(Email::MIME::Creator) Requires: perl(Email::MessageID) >= 1.400 Requires: perl(JSON) >= 2 Requires: perl(Module::Runtime) Requires: perl(Moose) >= 0.65 Requires: perl(Moose::Role) Requires: perl(Moose::Util::TypeConstraints) Requires: perl(String::RewritePrefix) Requires: perl(YAML::XS) Provides: perl(Email::MIME::Kit) = %{version} Provides: perl(Email::MIME::Kit::Assembler::Standard) = %{version} Provides: perl(Email::MIME::Kit::KitReader::Dir) = %{version} Provides: perl(Email::MIME::Kit::ManifestReader::JSON) = %{version} Provides: perl(Email::MIME::Kit::ManifestReader::YAML) = %{version} Provides: perl(Email::MIME::Kit::Renderer::TestRenderer) = %{version} Provides: perl(Email::MIME::Kit::Role::Assembler) = %{version} Provides: perl(Email::MIME::Kit::Role::Component) = %{version} Provides: perl(Email::MIME::Kit::Role::KitReader) = %{version} Provides: perl(Email::MIME::Kit::Role::ManifestDesugarer) = %{version} Provides: perl(Email::MIME::Kit::Role::ManifestReader) = %{version} Provides: perl(Email::MIME::Kit::Role::Renderer) = %{version} Provides: perl(Email::MIME::Kit::Role::Validator) = %{version} %undefine __perllib_provides %{perl_requires} %description Email::MIME::Kit is a templating system for email messages. Instead of trying to be yet another templating system for chunks of text, it makes it easy to build complete email messages. It handles the construction of multipart messages, text and HTML alternatives, attachments, interpart linking, string encoding, and parameter validation. Although nearly every part of Email::MIME::Kit is a replaceable component, the stock configuration is probably enough for most use. A message kit will be stored as a directory that might look like this: sample.mkit/ manifest.json body.txt body.html logo.jpg The manifest file tells Email::MIME::Kit how to put it all together, and might look something like this: { "renderer": "TT", "header": [ { "From": "WY Corp " }, { "Subject": "Welcome aboard, [% recruit.name %]!" } ], "alternatives": [ { "type": "text/plain", "path": "body.txt" }, { "type": "text/html", "path": "body.html", "container_type": "multipart/related", "attachments": [ { "type": "image/jpeg", "path": "logo.jpg" } ] } ] } *Inline images* may be accessed with the function 'cid_for', for example to include the above logo.jpg: *Please note:* the assembly of HTML documents as multipart/related bodies may be simplified with an alternate assembler in the future. The above manifest would build a multipart alternative message. GUI mail clients would see a rendered HTML document with the logo graphic visible from the attachment. Text mail clients would see the plaintext. Both the HTML and text parts would be rendered using the named renderer, which here is Template-Toolkit. The message would be assembled and returned as an Email::MIME object, just as easily as suggested in the SYNOPSIS above. %prep %autosetup -n %{cpan_name}-%{cpan_version} %build perl Makefile.PL INSTALLDIRS=vendor %make_build %check make test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %doc Changes README %license LICENSE %changelog