Skip to main content

OCI Email Delivery Service - multiple recipients

To send mails in our projects most often we use Oracle Cloud Email Delivery Service. From official OCI Email Delivery description you can find:

"Oracle Cloud Infrastructure Email Delivery is an email sending service that provides a fast and reliable managed solution for sending high-volume emails that need to reach your recipients' inbox. Email Delivery provides the tools necessary to send application-generated email for mission-critical communications such as receipts, fraud detection alerts, multi-factor identity verification, and password resets."

... sounds good ? yes and works good as well ; )

Buuuut two weeks ago I found some issue according send mail to multiple recipients. All multiple recipients mails stucked !
After few minutes of investigation I found a reason. OCI Email Delivery Service accepts only coma as a recipients separator without any other char. To fix it I prepared small function which parses string containing email addresses and returns them with proper format. If you have the same problem you can use it as I did below:


create or replace function clean_email_addresses(p_address_string in varchar2)
return varchar2
is
lt_mails apex_t_varchar2;
begin
lt_mails:=apex_string_util.find_email_addresses(p_address_string);
return apex_string.join(lt_mails,',');
end;
/
select clean_email_addresses
              (p_address_string => 'some_user@somewhere.com, 
                      othermail@anddomain.com some stupid text 
                      oneothermail@domain.com; alsonemail@domain.com') 
               as cleaned_addresses;
  from dual

CLEANED_ADDRESSES                                                                                                                                                                                                               --
some_user@somewhere.com,othermail@anddomain.com,oneothermail@domain.com,alsonemail@domain.com

sql>


BTW
I tried to find official information how to prepare multiple recipient to use with OCI Email Delivery but I found nothing, maybe somebody from Oracle will read this post and add some details to doc.

Comments

Popular posts from this blog

TWO-Factor Authentication with APEX application.

Two-factor authentication means that you must have two factors, to access your account. The first factor is something you know, like your login and password combination. The second is something you have, like a mobile device with a security app installed. That second factor — the mobile device with a security app — adds an extra layer of protection to your account. Even if hackers steal your password, they can’t log in, because they don't have your mobile device. Try 2FA on our SANDBOX environment! It is the most popular 2FA option based on Times-based One-Time Password (TOTP) alghoritm described in RFC 6238 and RFC 4226. TOTP is supported by Google Authenticator, Microsoft Authenticator, Authy 2-Factor Authentication and many other mobile apps. The most popular online services like Facebook, Google, Twitter use TOTP to protect user's accounts. TOTP is a standard algorithm based on cryptographic hash method SHA-1. SHA-1 algorithm's implementation is available sin...

ORACLE APEX with MySQL !

About 10 years ago I tried to build APEX application on MS SQLServer. It was possible but performance was not satisfactory. (You can read this post here) ... Today I will describe how to use APEX with MySQL. Obviusly I don't think it is good idea to build APEX app only on MySQL. It can be used as part of Hybryd solution (Oracle + MySQL or Postrgres). My description covers integration with MySQL. As a result will be APEX application with Interactive Report and CRUD form based on MySQL data. Description contains two parts: First part is a MySQL site, Second part is a APEX application part Prerequisites: Oracle 11g+ APEX 18.1+ MySQL/Postgres RestSQL I. MySQL Part 1. MySQL contains simple  apexdb database with one apexutil table. 2. To use this database install RestSQL. What is RestSQL? RestSQL is an open-source, ultra-lightweight data access layer for HTTP clients. RestSQL is a persistence framework or engine in the middle tier of a classic three tier archi...

Oracle APEX – Amazon ALEXA integration WITHOUT Amazon Lambda ! (PART 2)

In the last blog post I prepared Oracle side. In this post I will show, how to prepare ALEXA Skill and how to integrate all layers. Few weeks ago Amazon implemented new version of Alexa Skill Kit. Alexa Skill Kit is like a APEX builder. Low code technology, so you don't need to write any code :) Let's start ! Go to Amazon Developer Console 1. Click Get Started on Alexa Skills Kit 2. As you can see on screen below there is already one skill on my list. Click on Create Skill to Create new one. 3. The name of my Skill will be - APEXUTIL Pizza  :) but you can name it as you wish. 4. Select Custom 5. Create Invocation. Users say a skill's invocation name to begin an interaction with a particular custom skill. For example, if the invocation name is "apex pizza", users can say: "Alexa, ask apex pizza ...." 6. One skill can have one or more Intents. An intent represents an action that fulfills a user's spo...