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!");
    	}
    }
  • 相关阅读:
    WordPaster-CuteEditor6.7整合教程
    WordPress-Word图片上传插件整合教程-Xproer.WordPaster
    WordPress 3.7.1-web截屏插件整合教程-Xproer.ScreenCapture
    WordPaster-KesionCMS V9整合教程
    WordPaster-KesionCMS V8整合教程
    ScreenCapture-HDwik5.0整合教程
    WordPaster-HDwik5.0整合教程
    Docker处理日志的方法&日志收集工具比较
    Alpine Linux
    利用apt-get 进行jdk安装;vim安装
  • 原文地址:https://www.cnblogs.com/liuyou/p/2316947.html
Copyright © 2011-2022 走看看