Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java将邮件发送到邮件列表?_Java_Email_Unix - Fatal编程技术网

如何使用java将邮件发送到邮件列表?

如何使用java将邮件发送到邮件列表?,java,email,unix,Java,Email,Unix,我想在unix服务器上使用java每隔一段时间(如每40分钟或每小时)向邮件列表发送一封邮件。 我希望任何代码或教程能够做到这一点 谢谢JavaMail是实现这一点的常用方法。JavaMail需要连接到SMTP服务器。向邮件列表发送邮件与发送普通邮件没有区别。最简单的方法是使用。检查其示例。如果没有必要充分使用SMTP-java邮件 简单例子 import java.util.Properties; import javax.mail.Session; import javax.mail.Tr

我想在unix服务器上使用java每隔一段时间(如每40分钟或每小时)向邮件列表发送一封邮件。
我希望任何代码或教程能够做到这一点


谢谢

JavaMail是实现这一点的常用方法。JavaMail需要连接到SMTP服务器。

向邮件列表发送邮件与发送普通邮件没有区别。最简单的方法是使用。检查其示例。

如果没有必要充分使用SMTP-java邮件 简单例子

import java.util.Properties;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class MailSender {
        private static String host = "";
        private static String user = "";
        private static String password = "";
        private static int port = 465;
        private static String from = "";
        private static String to = "";

        private static String auth = "true";
        private static String debug = "false";
        private static String socket_factory = "javax.net.ssl.SSLSocketFactory";
        private static String subject = "";
        private static String text = "";

        /**
         * Constructor. Fields - parameters for send mail.
         *  
         * @param host - mail server.
         * @param user - user
         * @param password - login
         * @param port - port
         * @param from - mail from address
         * @param to - mail to address
         * @param subject - subject
         * @param text - text of mail
         */
        public MailSender(String host, String user, String password, int port,
                        String from, String to, String subject, String text) {

                if (!host.isEmpty())
                        setHost(host);
                if (!user.isEmpty())
                        setUser(user);
                if (!password.isEmpty())
                        setPassword(password);
                if (port == 0)
                        setPort(port);
                if (!from.isEmpty())
                        setFrom(from);
                if (!to.isEmpty())
                        setTo(to);
                if (!subject.isEmpty())
                        setSubject(subject);
                if (!text.isEmpty())
                        setText(text);
        }

        /**
         * Send mail with parameters from constructor.
         */

        public void send() {
                // Use Properties object to set environment properties
                Properties props = new Properties();

                props.setProperty("mail.transport.protocol", "smtp");
                props.put("mail.smtp.host", getHost());
                props.put("mail.smtp.port", getPort());
                props.put("mail.smtp.user", getUser());

                props.put("mail.smtp.auth", getAuth());
                props.put("mail.smtp.starttls.enable","true");//for gmail?
                props.put("mail.smtp.debug", getDebug());

                props.put("mail.smtp.socketFactory.port", getPort());
                props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");//for gmail?
                props.put("mail.smtp.socketFactory.fallback", "false");

                try {

                        // Obtain the default mail session
                        Session session = Session.getDefaultInstance(props, null);
                        session.setDebug(new Boolean(getDebug()));

                        // Construct the mail message
                        MimeMessage message = new MimeMessage(session);
                        message.setText(getText());
                        message.setSubject(getSubject());
                        message.setFrom(new InternetAddress(getFrom()));
                        message
                                        .addRecipient(RecipientType.TO,
                                                        new InternetAddress(getTo()));
                        message.saveChanges();

                        // Use Transport to deliver the message
                        Transport transport = session.getTransport("smtp");
                        transport.connect(getHost(), getUser(), getPassword());
                        transport.sendMessage(message, message.getAllRecipients());
                        transport.close();

                } catch (Exception e) {
                        e.printStackTrace();
                }

        }

        public static String getHost() {
                return host;
        }

        public static void setHost(String host) {
                MailSender.host = host;
        }

        public static String getUser() {
                return user;
        }

        public static void setUser(String user) {
                MailSender.user = user;
        }

        public static String getPassword() {
                return password;
        }

        public static void setPassword(String password) {
                MailSender.password = password;
        }

        public static int getPort() {
                return port;
        }

        public static void setPort(int port) {
                MailSender.port = port;
        }

        public static String getFrom() {
                return from;
        }

        public static void setFrom(String from) {
                MailSender.from = from;
        }

        public static String getTo() {
                return to;
        }

        public static void setTo(String to) {
                MailSender.to = to;
        }

        public static String getAuth() {
                return auth;
        }

        public static void setAuth(String auth) {
                MailSender.auth = auth;
        }

        public static String getDebug() {
                return debug;
        }

        public static void setDebug(String debug) {
                MailSender.debug = debug;
        }

        public static String getSocket_factory() {
                return socket_factory;
        }

        public static void setSocket_factory(String socketFactory) {
                socket_factory = socketFactory;
        }

        public static String getSubject() {
                return subject;
        }

        public static void setSubject(String subject) {
                MailSender.subject = subject;
        }

        public static String getText() {
                return text;
        }

        public static void setText(String text) {
                MailSender.text = text;
        }
String[]邮件ID={
"abc@mail.com",
"abc22@mail.com",
"abc33@mail.com"
};
for(int i=0;i
在java类中,您可以使用邮件地址数组,并且可以使用for循环逐个调用邮件地址

在for循环中,您可以调用

message.addRecipient()

方法的数组名

请看上面的示例: