前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建私人邮件服务器

搭建私人邮件服务器

作者头像
全栈程序员站长
发布2022-08-31 10:42:23
8K0
发布2022-08-31 10:42:23
举报

大家好,又见面了,我是你们的朋友全栈君。

怎样使用本地服务器搭建一个邮箱,这样就可以脱离qq或者其他企业邮箱的限制,即可以做到节省成本,又可以得到收发邮件的一个保密性。 这里我们先展示一下本地搭建邮箱服务器后的成功例子:

在这里插入图片描述
在这里插入图片描述

可以看到,这里qq邮箱收到我这边发送的一个测试邮件例子(特别说明一下,这里的wordcap.top 是我自己购买的一个域名) 同样qq也可以向我发送邮件:

在这里插入图片描述
在这里插入图片描述

怎样搭建一个属于自己的私人邮箱服务器了,我这里演示一遍: 准备: 一个顶级域名:国内国外的都可以,当然也可以不需要顶级域名,前提是这个域名需要解析到你的服务器ip上 frp 内网穿透(包含公网ip的服务器):这个方便本地调试(如果不是很懂也可以查看上篇微信中内网穿透文章) 邮件服务器:Linux上可以用iredmail,Windows是可以用hMailServer,由于我为了方便测试,所以我用的是Windows版本的。 Linux安装方式(这里大家如果是用的Linux服务器可以用这个) 官网(开源iredmail安装方式): https://docs.iredmail.org/install.iredmail.on.rhel-zh_CN.html

1.安装软件 下载Windows版本的hMailServer https://www.hmailserver.com/download 双击运行安装

1.1输入邮件登录密码

在这里插入图片描述
在这里插入图片描述

安装完成之后连接本地服务器: 1.2添加一个主机域名:

在这里插入图片描述
在这里插入图片描述

1.3添加一个邮箱账号

在这里插入图片描述
在这里插入图片描述

1.4查看该邮箱服务器是否是启动状态:

在这里插入图片描述
在这里插入图片描述

1.5使用foxmail 测试一下: 下载安装

在这里插入图片描述
在这里插入图片描述

运行后手动配置(手动设置,设置密码等等):

在这里插入图片描述
在这里插入图片描述

1.6本地写封邮件测试:

在这里插入图片描述
在这里插入图片描述

本地虽然发送成功,但是收到腾讯的处理消息:

在这里插入图片描述
在这里插入图片描述

2.配置软件需要环境 由于我们的ip地址是动态的,不是固定的所以受到限制 2.1配置域名解析到服务器IP上 这里我们为了方便测试,在某平台上花了9块人民币购买了一个域名,并配置了二级域名和解析地址:

在这里插入图片描述
在这里插入图片描述

2.2配置内网穿透文件 同时为了方便测试,我们用内网穿透工具frp在本地进行测试: 首先我们测试一下,端口在不符合常规邮件端口的情况下能否收到邮件: 我们修改成这样:

在这里插入图片描述
在这里插入图片描述

2.3测试 试着用qq发送邮件:

在这里插入图片描述
在这里插入图片描述

显示已经发生成功,但是我们查看邮件时却并未收到任何邮件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4准确配置邮件监听端口 我们监听一下25这个端口(收邮件端口并不进行修改):

在这里插入图片描述
在这里插入图片描述

2.6重新测试 再重新写一封,我们发现通过25这个端口是可以接收到邮件的:

在这里插入图片描述
在这里插入图片描述

我们试着给qq发送一封小邮件:

在这里插入图片描述
在这里插入图片描述

发现也可以正常的收到 所以,设置邮件服务器端口和我平常设置网页不一样,平常http接口可以通过url后缀进行修改端口号,但是邮件服务器端口都是指定的 2.7使用代码实现注册邮件激活功能 我们现在试着用代码测试一下发送一个激活邮件的功能(这里我是用的是spring boot 框架): 代码如下(虽然可以配置spring boot yml 文件,但是测试时我这边使用的是代码,大家实际运用是改动一下就可以了):

代码语言:javascript
复制
   @Test
    public void sendSimpleMail() throws Exception {
        //手动创建的实例的属性和配置文件中的大致相同
        JavaMailSenderImpl sender=new JavaMailSenderImpl();
        sender.setDefaultEncoding("utf8"); //编码
        sender.setHost("mail.wordcap.top");//163 smtp服务器
        sender.setPort(25); //端口
        sender.setUsername("test@mail.wordcap.top"); //邮箱
        sender.setPassword("123456");//授权码
        sender.setProtocol("smtp"); //协议
        //配置额外属性
        Properties properties=new Properties();//额外设置的属性
        properties.setProperty("mail.smtp.auth", "true");//是否需要验证
        properties.setProperty("mail.smtp.timeout","2000");//超时
//    properties.setProperty("mail.smtp.ssl.enable", "true");//ssl加密


        properties.setProperty("mail.debug", "true");//是否显示调试信息(可选测试用)
        properties.setProperty("mail.transport.protocol", "smtp");//协议
        properties.setProperty("mail.smtp.auth", "true");//设置用户验证
        properties.setProperty("mail.smtp.timeout","250000");//超时时间
        properties.setProperty("mail.smtp.connectiontimeout","250000");//超时时间


        sender.setJavaMailProperties(properties);


        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom("test@mail.wordcap.top");
        message.setTo("2562957962@qq.com");
        message.setSubject("测试");
        message.setText("你的注册链接激活地址为 http://user.wordcap.top?m=678giyiy756gqwehoudas9f8heuqy9w8ehfashuihuwiqerhhd154845jdaskljgadjlfjaslfjasl0ewqnjngvjk");
        sender.setJavaMailProperties(properties);
        sender.send(message);

    }

运行之后,qq上直接收到这封邮件:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本地编译器输出如下:

在这里插入图片描述
在这里插入图片描述

测试完毕感觉还是不错的。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144119.html原文链接:https://javaforall.cn

如果您是在找激活码,但输入激活码后激活失败,最新激活码地址:https://javaforall.cn/127239.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯企业邮
腾讯企业邮(Tencent Exmail)是腾讯基于多年海量用户邮件系统研发和运营经验,为企业量身订造的一套办公用邮箱系统。稳定、简洁和快速,整合了丰富的企业应用,涵盖资源共享、消息发布、组织管理等方面。腾讯企业邮和微信生态深度整合,为您提供便捷高效的移动邮件解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档