java遍历属性文件

时间:2015-02-04 16:46:49

标签: java smtp

我有一个通过Java应用程序发送电子邮件的项目。 我几乎一切正常,我只需要能够配置我发送的电子邮件数量。

我拥有属性文件中的所有电子邮件地址。应用程序规范要求我在此文件中设置一个值,该值将确定要发送的电子邮件数。这是我的属性文件的一个示例,希望这有助于:

email1=tom@foo.com
email2=jerry@foo.com
email3=spike@foo.com
iterate=1  //this is the value that needs to be changed 
           in order to decide the number of emails to send.

在我的应用程序代码中,我有以下内容:

应用

Properties props = new Properties();
String to = props.getProperty("to");
String from = props.getProperty("from");
String host = props.getProperty("host");
String port = props.getProperty("port);

props.setProperty("mail.smtp.host", host);
props.setProperty("mail.smtp.port", port);

try
    {
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
        message.setSubject("<subject goes here>");
        message.setText(<body goes here>);
        Transport.send(message);
    }

1 个答案:

答案 0 :(得分:0)

我认为您将所有电子邮件ID都放在单键

emails=tom@foo.com,jerry@foo.com,spike@foo.com

然后阅读此emails字符串并将其拆分为数组。

然后阅读iterate,并在电子邮件阵列上执行for循环,直到您的属性文件中存在iterate

被修改

如果此to电子邮件的电子邮件ID为

String emails = props.getProperty("emails);
String iterate = Integer.valueOf(props.getProperty("iterate));
String arr[]= emails.split(",");
String toArr[] = new String[iterate];
System.arraycopy(arr, 0, toArr, 0, iterate);

现在您拥有toArr数组,使用此toArr发送您的电子邮件