Dans un premier temps, ouvrir la configuration général d'Opéra :
Dans la configuration SMTP, remplir les paramètres :
This document is intended to help support pinpoint and or resolve an issue with emailing out of Opera. Intended Audience is Opera Support.
OPERA > Configuration > Property Details > Delivery Method > General
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;
How to Test SMTP Services Manually in Windows Server 2003 To test the SMTP service, follow these steps:
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:
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
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.
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.
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.