import java.net.URL; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Authenticator; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.PasswordAuthentication; 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 org.apache.commons.mail.DefaultAuthenticator; import org.apache.commons.mail.Email; import org.apache.commons.mail.EmailAttachment; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; import org.apache.commons.mail.MultiPartEmail; import org.apache.commons.mail.SimpleEmail; import org.junit.After; import org.junit.Before; import org.junit.Test; public class JavaMail { @Test public void defaultSendMail() throws Exception { String host = "smtp.sina.com";// "smtp.gmail.com" String port = "25"; //"465" Properties props = new Properties(); props.setProperty("mail.smtp.host", host); props.setProperty("mail.smtp.port", port); props.setProperty("mail.smtp.auth", "true"); props.setProperty("mail.smtp.ssl.enable", "false");//"true" props.setProperty("mail.smtp.connectiontimeout", "5000"); final String user = "***@sina.com"; //"***@gmail.com" final String pwd = "***"; Session session = Session.getDefaultInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { //登录用户名密码 return new PasswordAuthentication(user,pwd); } }); session.setDebug(true); Transport transport = session.getTransport("smtp");//"smtps" transport.connect(host,user,pwd); //消息 MimeMessage message = new MimeMessage(session); setMailContent(message);//。。。。。。。。。。。。。。。。。。 message.setSubject("邮件标题"); //消息发送者接收者设置 //message.setFrom(new InternetAddress(user,"发件人名称")); message.addRecipients(Message.RecipientType.TO,new InternetAddress[]{ new InternetAddress("to1@163.com","to1昵称"), new InternetAddress("to2@163.com","to2昵称") }); message.saveChanges(); //发送 transport.send(message); //Transport.send(message); transport.close(); } //设定邮件内容 private void setMailContent(MimeMessage message) throws MessagingException { //方法一:只有文本邮件 //message.setContent("邮件内容..", "text/plain");//纯文本内容 //方法二:添加附件的邮件 Multipart part = new MimeMultipart(); BodyPart bodypart1 = new MimeBodyPart(); bodypart1.setText("邮件内容"); part.addBodyPart(bodypart1 ); BodyPart bodypart2 = new MimeBodyPart(); bodypart2.setFileName("fileName"); bodypart2.setDataHandler(new DataHandler(new FileDataSource("f:\\ok.txt"))); part.addBodyPart(bodypart2); message.setContent(part); } @Test public void apacheSendMail() throws Exception { SimpleEmail email = new SimpleEmail(); email.setHostName("smtp.gmail.com"); email.setSSL(true); email.setSmtpPort(465); // email.setSslSmtpPort("465"); email.setTLS(true);//gmail email.setAuthenticator(new DefaultAuthenticator("h***@gmail.com", "***")); email.setFrom("h***@gmail.com"); email.setSubject("TestCommonMail"); email.setCharset("gbk"); //文本邮件 email.setMsg("This is a test mail ... :-)"); email.addTo("**to@qq.com"); email.send(); } @Test public void apacheSendHtmlMail() throws Exception { HtmlEmail email = new HtmlEmail(); email.setHostName("smtp.gmail.com"); email.setSSL(true); email.setSmtpPort(465); email.setTLS(true);//gmail email.setAuthenticator(new DefaultAuthenticator("h***@gmail.com", "***")); email.setFrom("h***@gmail.com"); email.addTo("**to@qq.com"); email.setSubject("TestCommonMail"); email.setCharset("gbk"); //html邮件 String cid = email.embed(new URL("http://www.google.com.tw/intl/en_com/images/srpr/logo1w.png"), "google logo"); email.setHtmlMsg("<html>The logo - <img src='cid:"+cid+"'></html>"); email.send(); } @Test public void apacheSendAttachMail() throws Exception { MultiPartEmail email = new MultiPartEmail(); email.setHostName("smtp.gmail.com"); email.setSSL(true); email.setSmtpPort(465); email.setTLS(true);//gmail email.setAuthenticator(new DefaultAuthenticator("h***@gmail.com", "***")); email.setFrom("h***@gmail.com"); email.addTo("**to@qq.com"); email.setSubject("TestCommonMail"); email.setMsg("This is a test mail ... :-)"); email.setCharset("gbk"); EmailAttachment attach = new EmailAttachment(); attach.setName("attachFileName"); attach.setPath("f:\\ok.txt"); attach.setDescription(EmailAttachment.ATTACHMENT); email.attach(attach ); email.send(); } }
相关推荐
scratch少儿编程逻辑思维游戏源码-上下飞行.zip
kkzhilu_Code-Generate_32152_1745864907745
艺术博客_SpringSpringMVCMybatisShirojQueryBootstrapechartswebuploaderlayui_博客管理图表数据日
scratch少儿编程逻辑思维游戏源码-面具古墓.zip
scratch少儿编程逻辑思维游戏源码-时钟上的冰块.zip
健康监测_Android开发_BLE蓝牙通信_心率数据采集与存储_基于小米手环2的实时心率监测应用_支持后台长时间运行的心率记录工具_可导出SQLite数据库的心率数据分析系统_适
scratch少儿编程逻辑思维游戏源码-梦魇忍者.zip
scratch少儿编程逻辑思维游戏源码-谁建得更高.zip
scratch少儿编程逻辑思维游戏源码-忍者攀登.zip
模拟端 后端 qt前端
数据可视化_Android原生Canvas绘图_3D与非3D柱形图饼图折线图面积图曲线图环形图玫瑰图雷达图散点图气泡图仪表盘刻度盘漏斗图象限图_支持手势缩放滑动交互多图叠加动画效果
scratch少儿编程逻辑思维游戏源码-米克 demo.zip
聚合支付系统/官方个人免签系统/三方支付系统稳定安全高并发 附教程 系统采用FastAdmin框架独立全新开发,安全稳定,系统支持代理、商户、码商等业务逻辑。 针对最近一些JD,TB等业务定制,子账号业务逻辑API 非常详细,方便内置对接! IP白名单 业务逻辑 支持IP白名单,黑名单,全局白名单,全局黑名单,保障系统的安全。 接口验签名 采用支付宝RSA加密接口方式,防止篡改数据,导致对账困难,资金大量损失,无故少钱 对接灵活 全部对接参数灵活操作 风控完善 轮询、交易金额、随机金额、最大金额、最小金额等 测试环境: Nginx+PHP7.0+MySQL5.6 网站运行目录:/public 伪静态设置为:thinkphp规则 数据库信息修改路径:/application/database.php
第一步 package.json 下载这三个包 shelljs :执行 shell命令 ssh2-sftp-client 与服务器建立链接(内部有ssh2) chalk 打印彩色输出 第二步 配置脚本命令 deploy 注意后边加上运行环境 执行deploy命令时内部执行了打包动作 「 "deploy": "node deploy/index.js --prod」 第三步准备服务器密码 账号 部署地址 备份地址等等 参考如下 放到 config.js 中 module.exports = [ { id: 0, nodeEnv: "prod", name: "正式环境", domain: "", host: "ip", port: 端口, username: "用户名", password: "密码", path: "/data/www/paccount",//部署路径 removepath: "/data/www/paccount", //删除路径 }, ]; 第四步 如果需要在服务器执行命令 在部署完成后执行 chmodDir 自行决定
scratch少儿编程逻辑思维游戏源码-恐怖矿井.zip
scratch少儿编程逻辑思维游戏源码-爬墙鸟.zip
scratch少儿编程逻辑思维游戏源码-亮灯.zip
scratch少儿编程逻辑思维游戏源码-神秘的游戏.zip
scratch少儿编程逻辑思维游戏源码-矿猫 V4.zip
scratch少儿编程逻辑思维游戏源码-射击游戏构建.zip