自建 Joplin Server 配置邮件服务

Joplin 是一款极好用的笔记软件,详细的就不介绍了,自行 Bing 即可。它提供了多种同步方式,但是最方便的,莫过于自己搭建 Joplin Server 服务了,不用通过第三方,将数据牢牢掌控在自己手中,并且通过自建的 Joplin Server,还可以对笔记进行在线分享(拥有自己搭建的云笔记平台可是件很酷的事情)。

图1 通过 Joplin Server 进行笔记同步(Beta 功能,谨慎使用)

具体怎么搭建我也不说了,官方镜像上都有介绍,打不开的也可以 Bing 一下。这是 docker-compose.yml 的案例链接:https://github.com/laurent22/joplin/blob/dev/docker-compose.server.yml

如何将部署好的服务开放到外网也不谈了,这是另一个领域了。

聚焦到本次问题,不论是官方介绍,还是网上的教程,基本都是安装完了直接使用 Admin 账号进行同步,个人平时使用无影响。但是碰到需要新建用户需要邮件确认,或者忘记密码需要邮件找回时,就比较麻烦了。 通过查看源码的 env.ts 配置,可以发现里面提供了很多的参数配置,并且还有默认设置说明。其中里面是有邮件相关配置的。

图2 Joplin Server 邮件相关配置

这样就好办了,只需要搭一套邮件服务,再进行配置,就可以实现发送邮件的功能了,具体就不详细说了,比较懒,直接上 docker-compose 吧。

version: '3.7'

services:

  app:
    container_name: joplin-server
    hostname: joplin-server
    image: joplin/server:2.12.1-beta
    restart: unless-stopped
    ports:
      - 19711:22300
    depends_on:
      - db
      - smtp
    environment:
      # global
      - TZ=Asia/Shanghai
      - APP_NAME=huangzz's note
      - APP_PORT=22300
      - APP_BASE_URL=https://***.huangzz.xyz
      # db config
      - DB_CLIENT=pg
      - POSTGRES_PASSWORD='********'
      - POSTGRES_USER=joplin
      - POSTGRES_DB=joplin
      - POSTGRES_PORT=5432
      - POSTGRES_HOST=db
      # smtp config
      - MAILER_ENABLED=true
      - MAILER_HOST=smtp
      - MAILER_PORT=25
      - MAILER_SECURITY=MailerSecurity.None
      - MAILER_AUTH_USER=''
      - MAILER_AUTH_PASSWORD=''
      - MAILER_NOREPLY_NAME=noreply
      - MAILER_NOREPLY_EMAIL=noreply@huangzz.xyz
    volumes:
      - /etc/localtime:/etc/localtime:ro
    networks:
      - joplin

  db:
    container_name: joplin-server-db
    hostname: joplin-server-db
    image: postgres:15
    volumes:
      - /volume1/docker/JoplinServer/postgres:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    environment:
      - TZ=Asia/Shanghai
      - POSTGRES_PASSWORD='********'
      - POSTGRES_USER=joplin
      - POSTGRES_DB=joplin
    networks:
      - joplin

  smtp:
    container_name: joplin-server-smtp
    hostname: joplin-server-smtp
    image: namshi/smtp
    restart: always
    environment:
      TZ: Asia/Shanghai
      RELAY_NETWORKS: ':0.0.0.0/0'
    networks:
      - joplin

networks:
  joplin:
    driver: bridge
    ipam:
      driver: default
      config:
      - subnet: 87.188.94.0/24

按上面的 docker-compose 启动后,就可以正常接收邮件了,由于是自建服务器,发送的邮件可能在垃圾箱或被拦截。也可把相关参数,改成QQ邮箱或其他云邮箱的,这里就不作详细介绍了。

图3 重置密码邮件成功发送图3 重置密码邮件成功发送

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息