Skip to content

Send Email

Description

寄送電子郵件。

Resource

POST /v1/basic/send_email

Authorization

採用 OAuth 2.0 Bearer Token,詳細使用流程請參考 Auth Login

Request Body Parameters

Name Type Description
title string 標題
content string 訊息
sender_mail string 傳送者電子信箱
recipient_mail string[] 收件者電子信箱
cc_mail string[] 副本收件者信箱 (optional)
bcc_mail string[] 密件副本收件者信箱 (optional)

Request Example

{
    "title": "標題",
    "content": "訊息",
    "sender_mail": "[email protected]",
    "recipient_mail": ["[email protected]", "[email protected]"],
    "cc_mail": ["[email protected]", "[email protected]"],
    "bcc_mail": ["[email protected]", "[email protected]"]
}

Response Success

Status-Code: 204 No Content

Response Failed

Status-Code: 400 Bad Request

{
    "message": "缺少標題欄位資料"
}

{
    "message": "缺少收件者信箱資料"
}

Send Email API Workflow

%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% sequenceDiagram autonumber participant D as Device participant SE as SendEmailAPI participant CP as self.check_params() participant EU as EmailUtils.send_email() D->>SE: Call Send Email API activate SE SE->>CP: Call self.check_params() activate CP CP->>SE: Return Result deactivate CP alt result['status_code'] != 204 SE->>D: Return Response(400) end SE-->SE: self.resource_id = params['recipient_mail'] SE->>EU: Call send_email(params, self.logger_params) activate EU EU->>SE: Return Result deactivate EU alt result['status_code'] != 204 SE->>D: Return Response(400) end SE->>D: Return Response(204) deactivate SE

Email Utils - Send Email Proccess By Company Workflow

%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% sequenceDiagram autonumber participant O as Object participant SEPBC as send_email_process_by_company() participant SE as send_email() O->>SEPBC: Call send_email_proccess_by_company(o.company_id, o.title, o.content) activate SEPBC SEPBC-->SEPBC: Handle Send Email Request Data SEPBC->>SE: Call self.send_email(params, self.logger_params) deactivate SEPBC activate SE SE->>O: Return Result deactivate SE

Email Utils - Send Email Workflow

%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% sequenceDiagram autonumber participant O as Object participant SE as send_email() participant SMTP as smtplib.SMTP() O->>SE: Call send_email(o.param, o.logger_params) activate SE SE->>SMTP: Call smtplib.SMTP() activate SMTP alt smtplib.SMTP() is throws excepiton SMTP->>SE: Throws exception deactivate SMTP SE->>O: Return Response(400) end SE->>O: Return Response(204) deactivate SE