通过java发送电子邮件

时间:2018-01-15 16:36:54

标签: java collections oracle11g

因为我想使用java发送电子邮件,所以我存储在表格中的电子邮件的所有数据。 一个表是标题表,我存储电子邮件主题,正文和email_id 即时通讯第二个表我将电子邮件存储到,email_cc,email_bcc字段和外键,这是主要的标题表,因为一个邮件配置有多个email_to,email_cc,email_bcc字段

基本上我将使用哪个集合类。

1 个答案:

答案 0 :(得分:0)

由于您还没有回复(自您提出问题以来已经过了15个小时),因为我不会说Java,所以 知道如何从Oracle数据库发送邮件。所以,如果您对此感兴趣,请查看。

应该在UTL_MAIL(和/或UTL_SMTP上授予发送邮件的用户EXECUTE权限;请在Oracle文档中检查这些包。)

SQL> -- connect as privileged user (SYS, if there's no other)
Connected.
SQL> grant execute on utl_mail to scott;

然后,连接为SCOTT(即发送邮件的用户),创建一个如下所示的简单程序:

SQL> create or replace procedure p_mail (par_recipient   in varchar2,
  2                                      par_subject     in varchar2,
  3                                      par_message     in varchar2)
  4  is
  5  begin
  6     utl_mail.send (sender       => 'me.myself@gmail.com',
  7                    recipients   => par_recipient,
  8                    mime_type    => 'text/plain; charset=UTF-8',
  9                    subject      => par_subject,
 10                    message      => par_message);
 11  end;
 12  /

Procedure created.

SQL> begin
  2    p_mail('someone@gmail.com', 'Test', 'Message text goes here');
  3  end;
  4  /

PL/SQL procedure successfully completed.

SQL>

基本上就是这样。您可以将过程设置为您想要的丰富程序 - 将参数传递给它,或者创建包含主题和/或消息文本的局部变量,循环遍历多个收件人,使用CC,......

根据您的描述,使其工作将是一项相对简单的任务。

假设您的程序正在检查表中的数据并在客户余额不足时发送邮件:我建议您创建数据库 JOB (搜索对于DBMS_JOB和/或DBMS_SCHEDULER),它会为您完成所有操作。

但是,如果你必须用Java做,抱歉 - 我几乎不知道怎么说"你好,世界!" (在亲爱的朋友谷歌的帮助下)。