354: l_mailhost VARCHAR2(64) := fnd_profile.value('MTH_MAIL_SERVER_NAME');
355: /* The defaul mail server port usually is 25 by industry standard.
356: If port number is not set, should not affect sending notification.*/
357: l_mailport NUMBER := Nvl(fnd_profile.value('MTH_MAIL_SERVER_PORT'),25);
358: l_mail_conn UTL_SMTP.connection;
359: l_mesg VARCHAR2(1000);
360: l_flag NUMBER := 0;
361: crlf CONSTANT VARCHAR2(2):= fnd_global.local_chr(13) ||
362: fnd_global.local_chr(10);
363:
364: BEGIN
365: IF l_mailhost IS NOT NULL AND Length(l_mailhost) <> 0
366: THEN
367: l_mail_conn := UTL_SMTP.open_connection(l_mailhost, l_mailport);
368: l_mesg := 'Date: ' || TO_CHAR( SYSDATE, 'dd Mon yy hh24:mi:ss') || crlf ||
369: 'From: '|| NVL(fnd_profile.value('MTH_NOTIFICATION_DISPLAY_NAME'), 'Default User') || crlf ||
370: 'Subject: '|| p_subject || crlf ||
371: 'To: '||p_send_to || crlf || '' || crlf || p_text;
369: 'From: '|| NVL(fnd_profile.value('MTH_NOTIFICATION_DISPLAY_NAME'), 'Default User') || crlf ||
370: 'Subject: '|| p_subject || crlf ||
371: 'To: '||p_send_to || crlf || '' || crlf || p_text;
372:
373: UTL_SMTP.helo(l_mail_conn, l_mailhost);
374: UTL_SMTP.mail(l_mail_conn, p_send_to);
375: UTL_SMTP.rcpt(l_mail_conn, p_send_to);
376: utl_smtp.open_data(l_mail_conn);
377: utl_smtp.write_data(l_mail_conn, l_mesg);
370: 'Subject: '|| p_subject || crlf ||
371: 'To: '||p_send_to || crlf || '' || crlf || p_text;
372:
373: UTL_SMTP.helo(l_mail_conn, l_mailhost);
374: UTL_SMTP.mail(l_mail_conn, p_send_to);
375: UTL_SMTP.rcpt(l_mail_conn, p_send_to);
376: utl_smtp.open_data(l_mail_conn);
377: utl_smtp.write_data(l_mail_conn, l_mesg);
378: utl_smtp.close_data(l_mail_conn);
371: 'To: '||p_send_to || crlf || '' || crlf || p_text;
372:
373: UTL_SMTP.helo(l_mail_conn, l_mailhost);
374: UTL_SMTP.mail(l_mail_conn, p_send_to);
375: UTL_SMTP.rcpt(l_mail_conn, p_send_to);
376: utl_smtp.open_data(l_mail_conn);
377: utl_smtp.write_data(l_mail_conn, l_mesg);
378: utl_smtp.close_data(l_mail_conn);
379: UTL_SMTP.quit(l_mail_conn);
372:
373: UTL_SMTP.helo(l_mail_conn, l_mailhost);
374: UTL_SMTP.mail(l_mail_conn, p_send_to);
375: UTL_SMTP.rcpt(l_mail_conn, p_send_to);
376: utl_smtp.open_data(l_mail_conn);
377: utl_smtp.write_data(l_mail_conn, l_mesg);
378: utl_smtp.close_data(l_mail_conn);
379: UTL_SMTP.quit(l_mail_conn);
380:
373: UTL_SMTP.helo(l_mail_conn, l_mailhost);
374: UTL_SMTP.mail(l_mail_conn, p_send_to);
375: UTL_SMTP.rcpt(l_mail_conn, p_send_to);
376: utl_smtp.open_data(l_mail_conn);
377: utl_smtp.write_data(l_mail_conn, l_mesg);
378: utl_smtp.close_data(l_mail_conn);
379: UTL_SMTP.quit(l_mail_conn);
380:
381: RETURN 'Succeeded';
374: UTL_SMTP.mail(l_mail_conn, p_send_to);
375: UTL_SMTP.rcpt(l_mail_conn, p_send_to);
376: utl_smtp.open_data(l_mail_conn);
377: utl_smtp.write_data(l_mail_conn, l_mesg);
378: utl_smtp.close_data(l_mail_conn);
379: UTL_SMTP.quit(l_mail_conn);
380:
381: RETURN 'Succeeded';
382: ELSE
375: UTL_SMTP.rcpt(l_mail_conn, p_send_to);
376: utl_smtp.open_data(l_mail_conn);
377: utl_smtp.write_data(l_mail_conn, l_mesg);
378: utl_smtp.close_data(l_mail_conn);
379: UTL_SMTP.quit(l_mail_conn);
380:
381: RETURN 'Succeeded';
382: ELSE
383: RETURN 'Failed to send notification due to no configruation of mail server.';
383: RETURN 'Failed to send notification due to no configruation of mail server.';
384: END IF;
385:
386: EXCEPTION
387: WHEN UTL_SMTP.INVALID_OPERATION THEN
388: RETURN 'Failed due to Invalid Operation in Mail attempt using UTL_SMTP.';
389: WHEN UTL_SMTP.TRANSIENT_ERROR THEN
390: RETURN 'Failed due to Temporary e-mail issue - try again';
391: WHEN UTL_SMTP.PERMANENT_ERROR THEN
384: END IF;
385:
386: EXCEPTION
387: WHEN UTL_SMTP.INVALID_OPERATION THEN
388: RETURN 'Failed due to Invalid Operation in Mail attempt using UTL_SMTP.';
389: WHEN UTL_SMTP.TRANSIENT_ERROR THEN
390: RETURN 'Failed due to Temporary e-mail issue - try again';
391: WHEN UTL_SMTP.PERMANENT_ERROR THEN
392: RETURN 'Failed due to Permanent Error Encountered.';
385:
386: EXCEPTION
387: WHEN UTL_SMTP.INVALID_OPERATION THEN
388: RETURN 'Failed due to Invalid Operation in Mail attempt using UTL_SMTP.';
389: WHEN UTL_SMTP.TRANSIENT_ERROR THEN
390: RETURN 'Failed due to Temporary e-mail issue - try again';
391: WHEN UTL_SMTP.PERMANENT_ERROR THEN
392: RETURN 'Failed due to Permanent Error Encountered.';
393: WHEN OTHERS THEN
387: WHEN UTL_SMTP.INVALID_OPERATION THEN
388: RETURN 'Failed due to Invalid Operation in Mail attempt using UTL_SMTP.';
389: WHEN UTL_SMTP.TRANSIENT_ERROR THEN
390: RETURN 'Failed due to Temporary e-mail issue - try again';
391: WHEN UTL_SMTP.PERMANENT_ERROR THEN
392: RETURN 'Failed due to Permanent Error Encountered.';
393: WHEN OTHERS THEN
394: RETURN 'Failed due to Other errors occurs.';
395: