2017-04-26 12 views
0

SMTPを使用してoracleに簡単なメーラプログラムを作成しています。プログラムの実行中に、送信者が自動的に送信者の電子メールアドレスからの最初の部分としてピックアップされ送信者名送信者アドレスとの差異Oracle SMTP

CREATE OR REPLACE PROCEDURE send_mail (p_to  IN VARCHAR2, 
            p_from  IN VARCHAR2, 
            p_subject IN VARCHAR2, 
            p_message IN VARCHAR2, 
            p_smtp_host IN VARCHAR2, 
            p_smtp_port IN NUMBER DEFAULT 25) 
AS 
    l_mail_conn UTL_SMTP.connection; 
BEGIN 
    l_mail_conn := UTL_SMTP.open_connection(p_smtp_host, p_smtp_port); 
    UTL_SMTP.helo(l_mail_conn, p_smtp_host); 
    UTL_SMTP.mail(l_mail_conn, p_from); 
    UTL_SMTP.rcpt(l_mail_conn, p_to); 

    UTL_SMTP.open_data(l_mail_conn); 

    UTL_SMTP.write_data(l_mail_conn, 'Date: ' || TO_CHAR(SYSDATE, 'DD-MON-YYYY HH24:MI:SS') || UTL_TCP.crlf); 
    UTL_SMTP.write_data(l_mail_conn, 'To: ' || p_to || UTL_TCP.crlf); 
    UTL_SMTP.write_data(l_mail_conn, 'From: ' || p_from || UTL_TCP.crlf); 
    UTL_SMTP.write_data(l_mail_conn, 'Subject: ' || p_subject || UTL_TCP.crlf); 
    UTL_SMTP.write_data(l_mail_conn, 'Reply-To: ' || p_from || UTL_TCP.crlf || UTL_TCP.crlf); 

    UTL_SMTP.write_data(l_mail_conn, p_message || UTL_TCP.crlf || UTL_TCP.crlf); 
    UTL_SMTP.close_data(l_mail_conn); 

    UTL_SMTP.quit(l_mail_conn); 
END; 

。例えば。送信者メールが[email protected]の場合、送信者名はダミーとして表示されます。

私がしたいことは、メールアドレスが同じである間に送信者の名前を何かとして表示することです。例えば。送信者アドレス[email protected]の場合、送信者名はTest [Dummy以外のもの]にすることができます。

これを達成する方法を教えてください。

p_custom_from = 'Test'が指定されているものと異なる場合がありカスタム Nameを提供するために使用することができている

UTL_SMTP.write_data(l_mail_conn, 'From: ' || p_custom_from || UTL_TCP.crlf);

:あなたは経由して送信者ののみ名前を変更することができ、事前

答えて

0

感謝in:

UTL_SMTP.mail(l_mail_conn, p_from);

関連する問題