プリザンターは、OSSのノーコード・ローコード開発ツールです。業務アプリをマウス操作だけで簡単に作成できます。そして、業務システムではメール送信が多々行われます。
今回は、このプリザンターにblastengineのメール送信設定を行う方法を解説します。
ユーザ登録する
blastengineにユーザ登録します。管理画面に入るためのユーザID、パスワードが手に入るので、ログインします(ユーザIDは後で使います)。
送信元ドメインのSPFを設定する
送信元として利用するドメイン(自分で持っているもの)の設定をします。これは任意のドメイン管理サービスで設定できますが、TXTレコードに以下のSPFを追加します。
txt @ v=spf1 include:spf.besender.jp ~all
SMTP用のパスワードを設定する
ログイン後、管理画面の右上にある設定メニューへ移動します。
そしてSMTPリレーの設定で、SMTP用のパスワードを設定できます。また、IPアドレスベースの認証も可能です。
プリザンターを立ち上げる
今回はDocker版プリザンターを使います。Docker版プリザンターで運用する方法 #PostgreSQL - Qiitaを参考に、以下のようなファイル構成にしました。
% tree .
.
├── CodeDefiner
│ └── Dockerfile
├── Pleasanter
│ └── Dockerfile
├── app_data_parameters
│ └── Mail.json
└── docker-compose.yml
CodeDefiner/Dockerfileの内容
FROM implem/pleasanter:codedefiner
COPY app_data_parameters/ /app/Implem.Pleasanter/App_Data/Parameters/
ENTRYPOINT [ "dotnet", "Implem.CodeDefiner.dll" ]
Pleasanter/Dockerfileの内容
ARG VERSION=latest
FROM implem/pleasanter:${VERSION}
COPY app_data_parameters/ App_Data/Parameters/
ENTRYPOINT [ "dotnet", "Implem.Pleasanter.dll" ]
app_data_parameters/Mail.jsonの内容
ここでは、先ほど取得したblastengineのユーザーIDとSMTP用パスワードを設定します。SMTPサーバーはsmtp.engn.jp
を使います。
{
"SmtpHost": "smtp.engn.jp",
"SmtpPort": 587,
"SmtpUserName": "YOUR_USER_ID",
"SmtpPassword": "YOUR_PASSWORD",
"FixedFrom": "info@example.com",
"SupportFrom": "info@example.com"
}
他のパラメーターはパラメータ設定:Mail.json | Pleasanterを参照してください。
docker-compose.ymlの内容
version: '3.7'
services:
pleasanter:
build:
context: .
dockerfile: ./Pleasanter/Dockerfile
args:
- VERSION=${PLEASANTER_VER}
container_name: pleasanter_${PLEASANTER_VER}
environment:
Implem.Pleasanter_Rds_SaConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString}
Implem.Pleasanter_Rds_OwnerConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString}
Implem.Pleasanter_Rds_UserConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString}
depends_on:
- db
ports:
- '8080:8080'
networks:
- default
codedefiner:
build:
context: .
dockerfile: ./CodeDefiner/Dockerfile
container_name: codedefiner
environment:
Implem.Pleasanter_Rds_SaConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString}
Implem.Pleasanter_Rds_OwnerConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString}
Implem.Pleasanter_Rds_UserConnectionString: ${Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString}
depends_on:
- db
networks:
- default
stdin_open: true
db:
container_name: postgres${POSTGRES_VER}
image: postgres:${POSTGRES_VER}
volumes:
- type: volume
source: pg_data
target: ${PGDATA}
networks:
- default
environment:
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
- POSTGRES_HOST_AUTH_METHOD
- POSTGRES_INITDB_ARGS
- PGDATA
user: postgres
dbbackup:
image: ubuntu
container_name: dbbackup
networks:
- default
volumes:
- type: volume
source: pg_data
target: /pg_data
- type: bind
source: .
target: /backup
volumes:
pg_data:
name: ${COMPOSE_PROJECT_NAME:-default}_pg_data_${POSTGRES_VER}
networks:
default:
name: pleasanter_prod_network
.envの内容
.envでは最新のプリザンターを指定しています。他、PostgreSQLのバージョンや接続情報を設定します。
PLEASANTER_VER=1.4.5.0
POSTGRES_VER=15
Implem_Pleasanter_Rds_PostgreSQL_SaConnectionString='Server=db;Database=postgres;UID=USERNAME;PWD=PASSWORD'
Implem_Pleasanter_Rds_PostgreSQL_OwnerConnectionString='Server=db;Database=#ServiceName#;UID=#ServiceName#_Owner;PWD=PASSWORD'
Implem_Pleasanter_Rds_PostgreSQL_UserConnectionString='Server=db;Database=#ServiceName#;UID=#ServiceName#_User;PWD=PASSWORD'
POSTGRES_USER=USERNAME
POSTGRES_PASSWORD=PASSWORD
POSTGRES_DB=db
POSTGRES_HOST_AUTH_METHOD=scram-sha-256
POSTGRES_INITDB_ARGS="--auth-host=scram-sha-256 --encoding=UTF-8"
PGDATA=/var/lib/postgresql/dat
データベースの設定
データベースの設定を行うコマンドは以下の通りです。
docker compose run codedefiner _rds
プリザンターの立ち上げ
プリザンターを立ち上げるコマンドは以下の通りです。
docker compose up -d pleasanter
これでプリザンターがメール送信の際にblastengineを使う設定が完了しました。
まとめ
プリザンターで顧客管理や、社内連絡網などのアプリを作った際には、メール送信機能が必要になります。blastengineを使えば、簡単にメール送信機能を追加できます。ぜひ、お試しください。