Opera Email

  • Oracle Hospitality OPERA 5 Property Services - Version 4.0.0 and later
  • Oracle Hospitality OPERA Room Reservation System - Version 4.0.0 and later
  • Information in this document applies to any platform.

Dans un premier temps, ouvrir la configuration général d'Opéra :

Dans la configuration SMTP, remplir les paramètres :

Le système Opéra ne peut envoyer que sur le port 25.

This document is intended to help support pinpoint and or resolve an issue with emailing out of Opera. Intended Audience is Opera Support.

  1. Does the site use POP3 server or SMTP?
  2. Does the site use username and password?
  3. Does the site use encryption for username and password?
  4. Using the scripts provided in this documentation can I send and receive an email successfully?
  5. Using Telnet can I send and receive email successfully?
  6. Can I set up the email configuration in my test environment and send emails and receive emails successfully?
  7. What type of firewall is configured on the server?
  8. Is the port open for emails?
  9. Can ping the server from the application server?
  10. Is the mail server configured to allow relaying?

OPERA > Configuration > Property Details > Delivery Method > General

  1. Check to make sure that the email address is correct.
  2. Check to see if the site uses authentication, if so confirm the username and password.
  3. Check to see if they use a standard 64 bit encryption for username and password. If so ensure that the encrypted username and password is inputted into these fields.
  4. Check the Server Name and make sure it is correct. It is at this point that you want to ensure that you can ping the mail server. If the server is a POP3 or SMTP, you can also try to add these in front of the server name.

This script is designed to confirm what error is being received and or confirm that the email is sent successful through SQL and but fails from the form. Please change the values as needed.

DECLARE
in_resort varchar2(200) := 'ABC';
Cursor getmailinfo IS SELECT email_server_name email_server,email_from from_user, email_user_id username,email_user_password userpassword
FROM resort_delivery_methods WHERE resort = in_resort AND delivery_type = 'CONFIRMATION'; 
inToUser varchar2(2000) := 'test@domain.com'; inFromUser  varchar2(2000) := '';
c utl_smtp.connection;
PROCEDURE send_header(name IN VARCHAR2, header IN VARCHAR2) AS 
BEGIN
utl_smtp.write_data(c, name || ': ' || header || utl_tcp.CRLF)
END;
BEGIN
FOR rec IN getMailInfo loop
c := utl_smtp.open_connection(rec.Email_Server);        
IF rec.userpassword IS NOT NULL THEN utl_smtp.ehlo(c, rec.email_server); 
utl_smtp.command(c, 'AUTH LOGIN'); 
utl_smtp.command(c,UTL_RAW.CAST_TO_VARCHAR2(utl_encode.base64_encode(utl_raw.cast_to_raw(rec.username))));
utl_smtp.command(c,UTL_RAW.CAST_TO_VARCHAR2(utl_encode.base64_encode(utl_raw.cast_to_raw(rec.UserPassw ord))));
ELSE utl_smtp.helo(c, rec.email_server);
END IF;
utl_smtp.mail(c, rec.From_User);
utl_smtp.rcpt(c, intoUser);
utl_smtp.rcpt(c, rec.From_User);        
utl_smtp.open_data(c);
send_header('From', '"' || rec.From_USER || '" <'||rec.From_User||'>'); send_header('To', '"Recipient" <'||intoUser||'>'); send_header('To', '"Recipient" <'||rec.From_user||'>'); send_header('Subject', 'Hello');
utl_smtp.write_data(c, utl_tcp.CRLF || 'Hello, world!'); utl_smtp.close_data(c); utl_smtp.quit(c); END loop; 
EXCEPTION
WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN
dbms_output.put_line('Trasient Error or permanent error '||substr(sqlerrm,1,200));          
BEGIN
utl_smtp.quit(c);
EXCEPTION
WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN              
NULL;          
END;
raise_application_error(-20000, 'Failed to send mail due to the following error: ' || sqlerrm);
END; 

To test your Delivery Method Login Authentication credentials you may use the following script: Please change the values where needed and remember proper capitalization:

DECLARE
conn utl_smtp.connection; 
vDomain VARCHAR2(200) :='colonyexchange.colony.com';
smtp_AuthUser VARCHAR2(200) := 'USERNAME';
smtp_AuthUserPassword VARCHAR2(200) := 'PASSWORD';  
BEGIN
gem.trace_on('begin_session'); -- open SMTP connection
conn := utl_smtp.open_connection( vDomain );    --Authenticate User using Base64 Encoding if smtp_authuser is not null.
IF smtp_AuthUser IS NOT NULL THEN utl_smtp.ehlo(conn, vDomain );
utl_smtp.command(conn, 'AUTH LOGIN');
utl_smtp.command(conn, UTL_RAW.CAST_TO_VARCHAR2(utl_encode.base64_encode(utl_raw.cast_to_ra w(smtp_AuthUser))));       
utl_smtp.command(conn, UTL_RAW.CAST_TO_VARCHAR2(utl_encode.base64_encode(utl_raw.cast_to_ra w(smtp_AuthUserPassword))));     
ELSE
utl_smtp.helo(conn, vDomain );
END IF;
gem.trace_off();
EXCEPTION WHEN utl_smtp.transient_error OR utl_smtp.permanent_error THEN utl_smtp.quit(conn);
IF sqlcode = -29279 THEN -- User Authentication failure.          
dbms_output.put_line( 'ERROR' ); --RAISE_APPLICATION_ERROR(-20001,f_message('FAILED_MAIL_AUTHENTICATION','User Authentication Failed'));
ELSE
gem.handle_exceptions();
END IF;     
WHEN OTHERS THEN utl_smtp.quit(conn);       
gem.handle_exceptions(); 
END; 

Telnet Testing

How to Test SMTP Services Manually in Windows Server 2003 To test the SMTP service, follow these steps:

  1. On a computer running Windows Server 2003, type Telnet at a command prompt, and then press ENTER.
  2. At the telnet prompt, type set LocalEcho, (Also please try Local_Echo if LocalEcho is unable to initialize) press ENTER, and then type open <machinename> 25, and then press ENTER.

The output resembles the following:

  220 computername.microsoft.com ESMTP Server (Microsoft Exchange Internet Mail Service 5.5.2651.58) ready                                              
- Type helo me, and then press ENTER.
  The output resembles the following:
  250 OK
- Type mail from:email@domain.com, and then press ENTER.
  The output resembles the following:
  250 OK - mail from <email@domain.com>
- Type rcpt to:youremail@yourdomain.com, and then press ENTER.
  The output resembles the following:
  250 OK - Recipient <youremail@yourdomain.com>
- Type Data, and then press ENTER.
  The output resembles the following:
  354 Send data.  End with CRLF.CRLF
- Type Subject:This is a test, and then press ENTER two times.
- Type Testing, and then press ENTER.
- Press ENTER, type a period (.), and then press ENTER.
  The output resembles the following:
  250 OK
- Type quit, and then press ENTER.
  The output resembles the following:
  221 Closing Port / Mail queued for delivery

If the site has an encrypted username and password, they most likely have an authentication setup for the email server. To troubleshoot this do the following:

  1. On a computer running Windows Server 2003, type Telnet at a command prompt, and then press ENTER.
  2. At the telnet prompt, type set LocalEcho, press ENTER, and then type open <machinename> 25, and then press ENTER.

The output resembles the following:

  220 computername.microsoft.com ESMTP Server (Microsoft Exchange Internet Mail Service 5.5.2651.58) ready          
- At this point type in auth login, you might be prompted by letters or it might prompt you to type in your username, at this point type in the encrypted username. Press Enter
- The system will not prompt you for your password or give you another prompt with letters, type in you encrypted password. Press Enter
  Message should come back as successful
- Type in helo me and proceed with the rest of the steps

Can I set up the email configuration in my test environment and send emails and receive emails successfully?

This is important to test and record. If support can successfully send emails then we can assume that there is an issue with the server communicating to the mail server.

What type of firewall is configured on the server?

The actual type of firewall does not matter but support needs to make sure PORT 25 is open and not being blocked by the firewall.

Is the mail server configured to allow relaying?

The site has to confirm this for you and server must allow relaying.

There is a file in d:\micros\opera\operaias\webtemp directory, in this folder there is a file called mfsendmail20040915.xml. There will a file for each day that an email is sent. You can open this file and it will show any error messages that you are getting when sending the email. If you select this file and get a “Page cannot be displayed”, you need to copy the log.xsl from the runtimes and paste them in this directory.