LoginSignup
1
0

OSSのノーコードツール「プリザンター」でblastengineを使ってメール送信する

Posted at

プリザンターは、OSSのノーコード・ローコード開発ツールです。業務アプリをマウス操作だけで簡単に作成できます。そして、業務システムではメール送信が多々行われます。

今回は、このプリザンターにblastengineのメール送信設定を行う方法を解説します。

ユーザ登録する

blastengineにユーザ登録します。管理画面に入るためのユーザID、パスワードが手に入るので、ログインします(ユーザIDは後で使います)。

image.png

送信元ドメインのSPFを設定する

送信元として利用するドメイン(自分で持っているもの)の設定をします。これは任意のドメイン管理サービスで設定できますが、TXTレコードに以下のSPFを追加します。

txt @ v=spf1 include:spf.besender.jp ~all

SMTP用のパスワードを設定する

ログイン後、管理画面の右上にある設定メニューへ移動します。

getting-started-6.jpg

そしてSMTPリレーの設定で、SMTP用のパスワードを設定できます。また、IPアドレスベースの認証も可能です。

image.png

プリザンターを立ち上げる

今回は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を使う設定が完了しました。

FireShot Capture 275 - プリザンター - localhost 275.jpg

まとめ

プリザンターで顧客管理や、社内連絡網などのアプリを作った際には、メール送信機能が必要になります。blastengineを使えば、簡単にメール送信機能を追加できます。ぜひ、お試しください。

プリザンター|OSSのノーコード・ローコード開発ツール

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0