java mail 向局域网内的邮件服务器发送邮件
内网是自己搭建的邮件服务器么?我以前用过apache的开源邮件服务器james,也是只需要设置propssetProperty("mailhost", "smtpmymailcom");就可以了,至于smtpmymailcom是可以配置在邮件服务器里面的,跟ip没关系的
是采用分布式吗?如果是分布式的话邮件业务和其他业务是分开的,邮件服务器还会用zookeeper做负载均衡(差不多是那个意思),soa架构中其实就是个注册中心,所以你的问题可能是你的注册中心开启了吗?先开注册中心,再开邮件服务器才好使,第二点可能是你的ip,本地的时候不插网线默认是localhost,连公司服务器,而且你们公司应该可以连到外网上吧,所以改没改配置文件呢?localhost改成127001;看不到代码其他暂时不清楚,不懂继续问我
—— 神一样的男人
你可以用U-MAIL邮件服务器软件来搭建,U- Mail邮件服务器支持32级树形通讯录,并分为企业通讯录、客户通讯录、个人通讯录三大类型。对同一集团企业内的所有用户Email地址,通过 Webmail就可以直接共享,并支持outlookup faxmail 主流客户端同步。这样不管使用webmail收发邮件还是用客户端收发邮件,企业通讯录都会及时同步,并可在同台服务器所有域名下群发通知或相关资讯。管理员可以根据企业需要进行相应的授权(只收不发,只发不收,能发能收),应用十分人性化。
第1章 Java网络编程入门 1
11 进程之间的通信 1
12 计算机网络的概念 3
13 OSI参考模型 5
14 TCP/IP参考模型和TCP/IP协议 8
141 IP协议 11
142 TCP协议及端口 14
143 RFC简介 15
144 客户/服务器通信模式 16
15 用Java编写客户/服务器程序 17
151 创建EchoServer 18
152 创建EchoClient 20
16 小结 22
17 练习题 23
第2章 Socket用法详解 25
21 构造Socket 25
211 设定等待建立连接的超时时间 26
212 设定服务器的地址 26
213 设定客户端的地址 27
214 客户连接服务器时可能抛出的异常 27
22 获取Socket的信息 30
23 关闭Socket 32
24 半关闭Socket 33
25 设置Socket的选项 38
251 TCP_NODELAY选项 38
252 SO_RESUSEADDR选项 38
253 SO_TIMEOUT选项 39
254 SO_LINGER选项 42
255 SO_RCVBUF选项 44
256 SO_SNDBUF选项 45
257 SO_KEEPALIVE选项 45
258 OOBINLINE选项 45
259 服务类型选项 45
2510 设定连接时间、延迟和带宽的相对重要性 46
26 发送邮件的SMTP客户程序 47
27 小结 51
28 练习题 52
第3章 ServerSocket用法详解 55
31 构造ServerSocket 55
311 绑定端口 55
312 设定客户连接请求队列的长度 56
313 设定绑定的IP地址 58
314 默认构造方法的作用 58
32 接收和关闭与客户的连接 59
33 关闭ServerSocket 60
34 获取ServerSocket的信息 60
35 ServerSocket选项 62
351 SO_TIMEOUT选项 62
352 SO_REUSEADDR选项 63
353 SO_RCVBUF选项 64
354 设定连接时间、延迟和带宽的相对重要性 64
36 创建多线程的服务器 65
361 为每个客户分配一个线程 65
362 创建线程池 67
363 使用JDK类库提供的线程池 72
364 使用线程池的注意事项 74
37 关闭服务器 76
38 小结 80
39 练习题 81
第4章 非阻塞通信 83
41 线程阻塞的概念 83
411 线程阻塞的原因 83
412 服务器程序用多线程处理阻塞通信的局限 84
413 非阻塞通信的基本思想 85
42 javanio包中的主要类 87
421 缓冲区Buffer 88
422 字符编码Charset 90
423 通道Channel 90
424 SelectableChannel类 92
425 ServerSocketChannel类 93
426 SocketChannel类 93
427 Selector类 96
428 SelectionKey类 97
43 服务器编程范例 100
431 创建阻塞的EchoServer 100
432 创建非阻塞的EchoServer 103
433 在EchoServer中混合用阻塞模式与非阻塞模式 110
44 客户端编程范例 114
441 创建阻塞的EchoClient 114
442 创建非阻塞的EchoClient 116
443 创建非阻塞的PingClient 120
45 小结 126
46 练习题 127
第5章 创建非阻塞的HTTP服务器 129
51 HTTP协议简介 129
511 HTTP请求格式 129
512 HTTP响应格式 132
513 测试HTTP请求 133
52 创建非阻塞的HTTP服务器 137
521 服务器主程序:
HttpServer类 137
522 具有自动增长的缓冲区的ChannelIO类 138
523 负责处理各种事件的
Handler接口 140
524 负责处理接收连接就绪
事件的AcceptHandler类 140
525 负责接收HTTP请求和发送HTTP响应的RequestHandler类 141
526 代表HTTP请求的Request类 143
527 代表HTTP响应的Response类 145
528 代表响应正文的Content接口及其实现类 147
529 运行HTTP服务器 149
53 小结 150
54 练习题 151
第6章 客户端协议处理框架 153
61 客户端协议处理框架的主要类 153
62 在客户程序中运用协议处理框架 154
621 URL类的用法 154
622 URLConnection类的用法 156
63 实现协议处理框架 160
631 创建EchoURLConnection类 161
632 创建EchoURLStreamHandler及工厂类 162
633 创建EchoContentHandler类及工厂类 163
634 在EchoClient类中运用ECHO协议处理框架 165
64 小结 166
65 练习题 167
第7章 用Swing组件展示HTML文档 169
71 在按钮等组件上展示HTML文档 170
72 用JEditorPane组件创建简单的浏览器 171
73 小结 179
74 练习题 179
第8章 基于UDP的
数据报和套接字 181
81 UDP协议简介 181
82 DatagramPacket类 184
821 选择数据报的大小 185
822 读取和设置DatagramPacket的属性 185
823 数据格式的转换 186
824 重用DatagramPacket 187
83 DatagramSocket类 189
831 构造DatagramSocket 189
832 接收和发送数据报 190
833 管理连接 190
834 关闭DatagramSocket 191
835 DatagramSocket的选项 191
836 IP服务类型选项 193
84 DatagramChannel类 193
841 创建DatagramChannel 194
842 管理连接 194
843 用send()方法发送数据报 194
844 用receive()方法接收数据报 195
845 用write()方法发送数据报 198
846 用read()方法接收数据报 199
85 组播Socket 202
851 MulticastSocket类 205
852 组播Socket的范例 207
86 小结 209
87 练习题 210
第9章 对象的序列化与反序列化 213
91 JDK类库中的序列化API 213
92 实现Serializable接口 218
921 序列化对象图 220
922 控制序列化的行为 222
923 readResolve()方法在单例类中的运用 229
93 实现Externalizable接口 231
94 可序列化类的不同版本的序列化兼容性 233
95 小结 235
96 练习题 236
第10章 Java语言的反射机制 239
101 Java Reflection API简介 239
102 在远程方法调用中运用反射机制 244
103 代理模式 248
1031 静态代理类 248
1032 动态代理类 250
1033 在远程方法调用中
运用代理类 253
104 小结 258
105 练习题 259
第11章 RMI框架 261
111 RMI的基本原理 262
112 创建第一个RMI应用 264
1121 创建远程接口 264
1122 创建远程类 265
1123 创建服务器程序 267
1124 创建客户程序 269
1125 运行RMI应用 270
113 远程对象工厂设计模式 272
114 远程方法中的参数与返回值传递 277
115 回调客户端的远程对象 281
116 远程对象的并发访问 286
117 分布式垃圾收集 289
118 远程对象的equals()、hashCode()和clone()方法 294
119 使用安全管理器 294
1110 RMI应用的部署及类的动态加载 295
1111 远程激活 297
1112 小结 303
1113 练习题 304
第12章 通过JDBC API访问数据库 305
121 JDBC的实现原理 306
122 安装和配置MySQL数据库 308
123 JDBC API简介 310
124 JDBC API的基本用法 314
1241 处理字符编码的转换 317
1242 把连接数据库的各种属性放在配置文件中 318
1243 管理Connection、Statement和ResultSet对象的生命周期 321
1244 执行SQL脚本文件 326
1245 处理SQLException 328
1246 输出JDBC日志 329
1247 获得新插入记录的主键值 329
1248 设置批量抓取属性 330
1249 检测驱动器使用的JDBC版本 330
12410 元数据 331
125 可滚动及可更新的结果集 333
126 行集 339
127 调用存储过程 346
128 处理Blob和Clob类型数据 347
129 控制事务 351
1291 事务的概念 351
1292 声明事务边界的概念 353
1293 在mysqlexe程序中声明事务 354
1294 通过JDBC API声明事务边界 356
1295 保存点 357
1296 批量更新 358
1297 设置事务隔离级别 360
1210 数据库连接池 362
12101 创建连接池 363
12102 DataSource数据源 369
1211 小结 371
1212 练习题 372
第13章 基于MVC和RMI的分布式应用 375
131 MVC设计模式简介 375
132 store应用简介 377
133 创建视图 381
134 创建控制器 389
135 创建模型 390
136 创建独立应用 394
137 创建分布式应用 395
138 小结 398
139 练习题 398
第14章 通过JavaMail API收发邮件 401
141 E-mail协议简介 401
1411 SMTP简单邮件传输协议 401
1412 POP3邮局协议 402
1413 接收邮件的新协议IMAP 402
1414 MIME简介 403
142 JavaMail API简介 403
143 建立JavaMail应用程序的开发环境 405
1431 获得JavaMail API的类库 405
1432 安装和配置邮件服务器 406
144 创建JavaMail应用程序 408
145 身份验证 412
146 URLName类 416
147 创建和读取复杂电子邮件 418
1471 邮件地址 419
1472 邮件头部 420
1473 邮件标记 421
1474 邮件正文 422
148 操纵邮件夹 427
149 小结 432
1410 练习题 433
第15章 安全网络通信 435
151 SSL简介 435
1511 加密通信 436
1512 安全证书 436
1513 SSL握手 437
1514 创建自我签名的安全证书 438
152 JSSE简介 439
1521 KeyStore、KeyManager与TrustManager类 442
1522 SSLContext类 443
1523 SSLServerSocketFactory类 444
1524 SSLSocketFactory类 444
1525 SSLSocket类 444
1526 SSLServerSocket类 447
1527 SSLEngine类 448
153 创建基于SSL的安全服务器和安全客户 453
154 小结 457
155 练习题 457
第16章 CORBA简介 459
161 创建IDL接口 460
162 创建IDL接口的实现类 460
163 创建服务器程序 461
164 创建客户程序 462
165 运行CORBA程序 463
166 小结 464
167 练习题 465
第17章 Web服务简介 467
171 SOAP简介 467
172 建立Apache AXIS环境 469
173 在Tomcat上发布
Apache-AXIS Web应用 470
174 创建SOAP服务 471
1741 创建提供SOAP
服务的Java类 471
1742 创建SOAP服务的
发布描述符文件 471
175 管理SOAP服务 472
1751 发布SOAP服务 472
1752 删除SOAP服务 473
176 创建和运行SOAP
客户程序 473
177 发布JWS服务 476
178 小结 476
179 练习题 477
附录A 本书范例的运行方法 479
A1 本书所用软件的下载地址 479
A2 部分软件的安装 479
A21 安装JDK 480
A22 安装ANT 480
A23 安装Tomcat 481
A3 编译源程序 481
A4 运行客户/服务器程序 482
JavaAPl5个技巧娱乐一下
1,不要自己去实现安全框架
几平每个人都知道避免去实现加密等算法。同样道理你的应用的安全栈的其余部分也是一样,可能需要花费很大,得到的风险也很大。你很可能会犯一些错误。自1999年以来,已经有89373个CVE(公共漏洞和暴露)发布了。而其中公开的大部分的发现者都是那些非常聪明的人。
你可能认为处理一个简单的用例(例如验证用户的密码)是很简单的事情一一你所做的一切只是比较一对字符串。这样想就错了。你需要验证密码的哈希值,审核尝试登录的次数,减少针对字典的攻击,这只是冰山一角。你最好的选择是使用现有的成熟的库或框架,例如Apache的Shiro或者SpringSecurity,让这些框架去处理各类复杂的安全问题。
2Use TLS,Always! 永远使用TLS!
能让你的应用需要TLS(HTTPS/SSL)只需要简单的一行代码,所有人都应该这样做!如果使用Apache Shiro框架,只需要设置属性:[urls]/ = ssl
如果使用Spring Security,,只需要在设置HttpSecurity时,简单调用一个方法即可。httprequiresChannel()anyRequest()requiresSecure();
在Spring Boot中,仅需设置一些属性,如下:serverport=8443serversslkey-store=classpath:keystorejksserversslkey-store-password=secretserversslkey-password=another-secret
3使用Spring Boot创建Web Service
Spring Boot是Spring平台的一个简化,能让编写Spring应用变得很简单,例如能用很少的代码,编写《app应用中考虑的12个因素》一文中提到的观点。如果你还在使用建War包的方式编码,那么Spring Boot值得你去学习。使用Spring Boot可以复杂的、不同类型的应用,例如可以使用简单的注解(@EnableResourceServer;就搭建一个OAuth资源服务器,或者通过简单的属性改变其端口:
serverport = 8090
如果不喜欢使用SpringBoot,那么可以使用Dropwizard去搭建JAX-RS技术栈。
4监视应用和性能指标
如果无任何数据的情况下是很难发现程序的错误的。Spring Boot通过使用Actuator,能让收集指标数据变得容易,只需要在应用中增加一个依赖,如下:
<dependency><groupld>orgspringframeworkboot</groupld><artifactld>spring-boot-tarter-actuator</artifactld></dependency>
然后就可以通过浏览器中,在访问应用地址后输入/health 或者/metrics去检查应用的健康情况或者指标。Dropwizard框架通过/healthcheck和/metrics实现同样的功能。
5保护敏感信息
人们都认为API密钥是不安全的,这是事实。密钥通过电子邮件发送或源代码管理系统控制。也许这是它们看起来比密码更不安全的原因,但它们也一样敏感。如果需要将API密钥存储在文件中,请确保授予文件有限的访问权限。例如,我们建议在私人目录中存放Okta的YAML文件并且赋予文件所有者只读权限。
$ chmod u=r,go-rwx ~/okta/oktayaml
如果你正为使用你的APP的用户创建API,记得提醒他们,如果无设置好权限的话,SSH的忽文件是放在你的~/ssh目录下,如果无设置好权限的话。GitHub 把它们放在“危险区域”,以提醒用户,这是十分有用的。
1开源NET邮件服务器
LumiSoft Mail Server是一个开源,免费的邮件服务器,能运行在net/mono上,支持SMTP/POP3/IMAP4/WebMail,支持MS Sql Server/PostgreSql/Xml等数据存储方式很适合中小型企业使用,稳定性和兼容性上都没什么问题。
2开源的邮件服务器hMailServer
hMailServer,当然还有Apache的James可以选择。
hMailServer官方网站:http://wwwhmailservercom/
新的漂亮的WebMail
WebMail Client:RoundCube Webmail。
官方主页:http://wwwroundcubenet/,上去看了下,觉得比SquirrelMail漂亮多了,马上下载安装配置了下。
3开源的Java邮件服务器 James
4开源邮件服务器 Tmail
0条评论