aboutsummaryrefslogtreecommitdiff
path: root/libbutl/sendmail.mxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2021-09-28 19:24:31 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-09-28 20:29:59 +0300
commitdf1ef68cd8e8582724ce1192bfc202e0b9aeaf0c (patch)
treeb731ca4c68e60c00c7e7d499dbf4868ee7b71f44 /libbutl/sendmail.mxx
parent7a4fc37f264cdb67f2f83fa92703c869215bbc86 (diff)
Get rid of C++ modules related code and rename *.mxx files to *.hxx
Diffstat (limited to 'libbutl/sendmail.mxx')
-rw-r--r--libbutl/sendmail.mxx137
1 files changed, 0 insertions, 137 deletions
diff --git a/libbutl/sendmail.mxx b/libbutl/sendmail.mxx
deleted file mode 100644
index 0d5b239..0000000
--- a/libbutl/sendmail.mxx
+++ /dev/null
@@ -1,137 +0,0 @@
-// file : libbutl/sendmail.mxx -*- C++ -*-
-// license : MIT; see accompanying LICENSE file
-
-#ifndef __cpp_modules_ts
-#pragma once
-#endif
-
-// C includes.
-
-#ifndef __cpp_lib_modules_ts
-#include <string>
-
-#include <cstddef> // size_t
-#include <utility> // move(), forward()
-#endif
-
-// Other includes.
-
-#ifdef __cpp_modules_ts
-export module butl.sendmail;
-#ifdef __cpp_lib_modules_ts
-import std.core;
-#endif
-import butl.process;
-import butl.fdstream;
-import butl.small_vector;
-#else
-#include <libbutl/process.mxx>
-#include <libbutl/fdstream.mxx>
-#include <libbutl/small-vector.mxx>
-#endif
-
-#include <libbutl/export.hxx>
-
-LIBBUTL_MODEXPORT namespace butl
-{
- // Send email using the sendmail(1) program.
- //
- // Write the body of the email to out. Note that you must explicitly close
- // it before calling wait(). Throw process_error and io_error (both derive
- // from system_error) in case of errors.
- //
- // Typical usage:
- //
- // try
- // {
- // sendmail sm (2, // Diagnostics to stderr.
- // "", // Default From: address.
- // "Test subject",
- // {"test@example.com"});
- //
- // sm.out << "Test body" << endl;
- //
- // sm.out.close ();
- //
- // if (!sm.wait ())
- // ... // sendmail returned non-zero status.
- // }
- // catch (const std::system_error& e)
- // {
- // cerr << "sendmail error: " << e << endl;
- // }
- //
- class LIBBUTL_SYMEXPORT sendmail: public process
- {
- public:
- ofdstream out;
-
- // Notes:
- //
- // - If from is empty then the process user's address is used.
- //
- // - The to/cc/bcc addressed should already be quoted if required.
- //
- using recipients_type = small_vector<std::string, 1>;
-
- template <typename E>
- sendmail (E&& err,
- const std::string& from,
- const std::string& subject,
- const recipients_type& to);
-
- template <typename E>
- sendmail (E&& err,
- const std::string& from,
- const std::string& subject,
- const recipients_type& to,
- const recipients_type& cc);
-
- template <typename E, typename... O>
- sendmail (E&& err,
- const std::string& from,
- const std::string& subject,
- const recipients_type& to,
- const recipients_type& cc,
- const recipients_type& bcc,
- O&&... options);
-
- // Version with the command line callback (see process_run_callback() for
- // details).
- //
- template <typename C, typename E>
- sendmail (const C&,
- E&& err,
- const std::string& from,
- const std::string& subject,
- const recipients_type& to);
-
- template <typename C, typename E>
- sendmail (const C&,
- E&& err,
- const std::string& from,
- const std::string& subject,
- const recipients_type& to,
- const recipients_type& cc);
-
- template <typename C, typename E, typename... O>
- sendmail (const C&,
- E&& err,
- const std::string& from,
- const std::string& subject,
- const recipients_type& to,
- const recipients_type& cc,
- const recipients_type& bcc,
- O&&... options);
-
- private:
- void
- headers (const std::string& from,
- const std::string& subj,
- const recipients_type& to,
- const recipients_type& cc,
- const recipients_type& bcc);
- };
-}
-
-#include <libbutl/sendmail.ixx>