zoukankan      html  css  js  c++  java
  • Linux下Apache James 邮件安装与发送程序

    -

    1. 下载:apache-james-3.0-beta3-app.tar.gz,
    URL是http://james.apache.org/download.cgi
    2. 解压 tar -zxf
    apache-james-3.0-beta3-app.tar.gz
    3. 启动
        cd
    apache-james-3.0-beta3-app/bin
        ./run.sh
        ./james start
    4.
    添加域名
        cd apache-james-3.0-beta3-app/bin
        ./james-cli.sh  --host
    127.0.0.1 adddomain localhost
    5. 添加用户
        cd
    apache-james-3.0-beta3-app/bin
        ./james-cli.sh  --host 127.0.0.1 adduser
    test@asbinms.com test


    6. 通过邮件服务器发送邮件(Java实现)


    EmailAuthenticator.java

    package mail;
    
    import javax.mail.Authenticator;   
    import javax.mail.PasswordAuthentication;   
    
    public class EmailAuthenticator extends Authenticator {   
        private String m_username = null;   
      
        private String m_userpass = null;   
      
        void setUsername(String username) {   
            m_username = username;   
        }   
      
        void setUserpass(String userpass) {   
            m_userpass = userpass;   
        }   
      
        public EmailAuthenticator(String username, String userpass) {   
            super();   
            setUsername(username);   
            setUserpass(userpass);   
        }   
      
        public PasswordAuthentication getPasswordAuthentication() {   
            return new PasswordAuthentication(m_username, m_userpass);   
        }   
    }  


    SendMail.java

    package mail;
    
    import java.util.Date;
    import java.util.Properties;
    
    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.Multipart;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    import javax.mail.internet.MimeUtility;
    
    public class SendMail {
    
    	private String mailServer, username, password;
    	private Session mailSession;
    	private Properties prop;
    	private Message message;
    
    	/**
    	 * // 设置邮件服务器相关
    	 * @param mailServer: 
    	 * @param username: 
    	 * @param password: 
    	 */
    	public SendMail(String mailServer, String username, String password) {
    		this.mailServer = mailServer;
    		this.username = username;
    		this.password = password;
    	}
    
    	/**
    	 * 
    	 * @param to : 
    	 * @param mailSubject:
    	 * @param mailContent
    	 */
    	public void send(String to, String mailSubject, String mailContent) {
    		EmailAuthenticator mailauth = new EmailAuthenticator(username, password);
    		// 设置邮件服务器
    		prop = System.getProperties();
    		prop.put("mail.smtp.auth", "true");
    		prop.put("mail.smtp.host", mailServer);
    		// 产生新的Session服务
    		mailSession = mailSession.getDefaultInstance(prop, (Authenticator) mailauth);
    		message = new MimeMessage(mailSession);
    
    		try {
    			message.setFrom(new InternetAddress(username)); // 设置发件人
    			message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));// 设置收件人
    			message.setSubject(mailSubject);// 设置主题
    //			message.setContent(mailContent, "text/plain");// 设置内容,中文乱码,用下面的方法
    		
    			// 设置内容
    			Multipart multipart = new MimeMultipart();
    			MimeBodyPart mimeBodyPart = new MimeBodyPart(); 			
    			mimeBodyPart.setText(mailContent); 			
    //			mimeBodyPart.setFileName(MimeUtility.encodeText(mailContent, "GBK", "B")); //对邮件头采用base64方式编码   
    			multipart.addBodyPart(mimeBodyPart);   
    			message.setContent(multipart);
    			
    			// 设置日期
    			message.setSentDate(new Date());
    			Transport tran = mailSession.getTransport("smtp");
    			tran.connect(mailServer, username, password);
    			tran.send(message, message.getAllRecipients());
    			tran.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    	public static void main(String[] args) {
    		SendMail mail;
    		mail = new SendMail("localhost", "test@localhost", "test");
    		System.out.println("sending......");
    		mail.send("test@localhost", "-=> < tttt", "xx-=> <  xxxxx");
    		System.out.println("finished!");
    	}
    }
  • 相关阅读:
    Apache Ant 1.9.1 版发布
    Apache Subversion 1.8.0rc2 发布
    GNU Gatekeeper 3.3 发布,网关守护管理
    Jekyll 1.0 发布,Ruby 的静态网站生成器
    R语言 3.0.1 源码已经提交到 Github
    SymmetricDS 3.4.0 发布,数据同步和复制
    beego 0.6.0 版本发布,Go 应用框架
    Doxygen 1.8.4 发布,文档生成工具
    SunshineCRM 20130518发布,附带更新说明
    Semplice Linux 4 发布,轻量级发行版
  • 原文地址:https://www.cnblogs.com/liuyou/p/2316947.html
Copyright © 2011-2022 走看看