Files
EWF/library/runtime/process/notification_email/notification_mailer.e
Jocelyn Fiat 148518984e Added the possibility to provide the sendmail location in NOTIFICATION_SENDMAIL_MAILER.
Added NOTIFICATION_STORAGE_MAILER which allow to store the email in a storage (could be just output, file, database ...)
Added SMTP implementation, based on EiffelNet SMTP_PROTOCOL.
   note: it is possible to exclude this by setting ecf variable "smtp_notification_email_disabled" to "True"
   this way help to manage dependencies, since the Eiffel Net library would not be included neither.
Fixed Date header value computation.
2015-07-03 10:02:56 +02:00

91 lines
1.9 KiB
Plaintext

note
description: "[
Component responsible to send email
]"
author: "$Author: jfiat $"
date: "$Date: 2015-06-30 11:07:17 +0200 (mar., 30 juin 2015) $"
revision: "$Revision: 97586 $"
deferred class
NOTIFICATION_MAILER
feature -- Status
is_available: BOOLEAN
-- Is mailer available to use?
deferred
end
feature -- Basic operation
process_emails (lst: ITERABLE [NOTIFICATION_EMAIL])
-- Process set of emails `lst'
require
is_available
do
across
lst as c
loop
process_email (c.item)
end
end
safe_process_email (a_email: NOTIFICATION_EMAIL)
-- Same as `process_email', but include the check of `is_available'
do
if is_available then
process_email (a_email)
end
end
process_email (a_email: NOTIFICATION_EMAIL)
-- Process the sending of `a_email'
require
is_available
deferred
end
feature -- Error
has_error: BOOLEAN
-- Previous operation reported error?
-- Use `reset_errors', to reset this state.
do
Result := attached last_errors as lst and then not lst.is_empty
end
reset_errors
-- Reset last errors.
do
last_errors := Void
end
last_errors: detachable ARRAYED_LIST [READABLE_STRING_32]
-- Last reported errors since previous `reset_errors' call.
report_error (a_msg: READABLE_STRING_GENERAL)
-- Report error message `a_msg'.
local
lst: like last_errors
do
lst := last_errors
if lst = Void then
create lst.make (1)
last_errors := lst
end
lst.force (a_msg.to_string_32)
end
note
copyright: "2011-2015, Jocelyn Fiat, Javier Velilla, Olivier Ligot, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software
5949 Hollister Ave., Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Website http://www.eiffel.com
Customer support http://support.eiffel.com
]"
end