電子メールサーバソフトウェア(MTA)の一つ。
1982年にアメリカのEric Allman氏によって開発された。
ユーザが送信したメールを受け取って、他のサーバと連携してバケツリレー式に目的地まで配送し、保存する。
ソースコードの公開されたフリーソフトウェアとして元々UNIX用に開発されたが、現在では様々なプラットフォームに移植されており*1、代表的なMTAです。
現在ではサポート付きの商用版もあります。
代表的なMTA: → qmail → Postfix
*1:Windowsでも動作するらしい
目次 「PATHを通す」とは 「環境変数」とは 「シェル」とは ついでに「シェルスクリプト」とは 「ターミナル」とは 「コンソール」とは 「コマンドプロンプト」と「Windows Power Shell」の違いとは 「デーモン」とは 「インタプリタ言語」「コンパイラ言語」とは 「ポインタ変数」とは 「PATHを通す」とは 特定のプログラムを「プログラム名だけで実行できるようにする」こと。 キーワード:PATH、PATHEXT 「PATH を通す」の意味をできるだけわかりやすく説明する試み - Qiita 「環境変数」とは 一言で言うと、Terminal環境内における変数です。 Pathは環境変…
こちらの記事の続き。kkobayashi-a.hatenablog.comIMAPに比べてSMTPでOAuth 2.0の認証をするサンプルコードについてはほとんど情報がありませんでしたが、唯一こちらが参考になりました。www.perlmonks.orgGmail用のAuthen::SASLオブジェクトをAuthen::SASL::Perl::XOAUTH2として定義していて、これをそのまま使えば良さそう。 package Authen::SASL::Perl::XOAUTH2 ; use strict ; use warnings ; our $VERSION = "0.01c" ; our …
はじめに タイトルの通り、SRE歴だと6年 + 5社目ですが、株式会社チカクのSREからバックエンドに転向して2ヶ月経ちました。 この2ヶ月、フェーズが変わったプロダクトに追従出来ていなかったチームの開発プロセスを刷新することにメンバーと注力していました。 それについてお話しします。 SREを無くした 「SREはバックエンドが分かってないと信頼性を担保することは出来ない」 「バックエンドはインフラが分かってないとインフラを意識した設計、冪等性の担保、柔軟でベストな設計が出来ない」 と私は考えており、少人数で複雑なアーキテクチャでなければSREとバックエンドを分離する必要はないと思ってます。 ま…
11:52 ①まず、PC:・WEB側が動くかチェックした。 (1)SpringBoot側自動作成後PGMを動かそうとしたらコンパイルエラーが出た。ので、修正し、再度動かした。以下のように動いたので、PC:・WEB側は動作OKだと思う。 修正したコンパイルエラー内容 ■SpringBoot側「src\main\java\com\kaz01u\demo\response\ResData.java」 修正 「ObjectUtils.isEmpty」を使っているが。importが足りない。 <<追加>> import org.springframework.util.ObjectUtils; ■Spr…
今回は、初めてGAS(Google App Script)を扱います。 「活動受付・管理システム」を作ることになった経緯としては、 毎週不定期で行われる活動の参加者募集をLINEの投票等で行っていたが、その管理が面倒すぎたため、スプレッドシートで一括管理したかった といった感じになります。実は本記事のものはVer2になるのですが、Ver1に比べかなり処理が軽量になったので、個人的にはなかなかいいんじゃないかと思ってます。ちなみに、上記の活動運営の引き継ぎとして作ってるんで、わかりやすくするためにもちょこちょこ更新してくと思います。(コードの変数名も適当ですし) まあ、ばっちこい本業の勉強をせに…
前回の続き。 LambdaからSESによるメール送信を行う方法として、前回はIAMを作成し、アクセスキーを使ったが、今回はLambdaにロールを付与してみる。 環境 実装 Lambdaの作成 Lambdaへのロール付与 Lambdaの実装 GraphQL定義およびコードからの呼び出し 振り返り 環境 前回と同様。 実装 以下のissueに記載の通り、Lambda関数を作成し、生成されたCloudFormation定義を編集して、ロールを付与できる。 github.com SESのドメインの検証は省略。 Lambdaの作成 amplify add function で、メール送信用のLambda…
今回のレッスンはAPIを呼び出してデータを取得し、 自分のプログラムに活用する練習としてISSが見えそうな時にメールをする簡易アプリを作成します。 このサイトの時間帯近くにメールが送られると思います。 lookup.kibo.space ではやってみます。 このコードの流れは 日の出日の入り時間をAPIで取得し、変数に入れる ISSが自分の場所から見えそうな場所になるのを確認する 時刻が夜かつISSが見えそうな場合にメールを送る こんな感じです。 今回使うAPIを2つ紹介しておきます。 日の出日の入りのわかるAPI sunrise-sunset.org 緯度と経度を https://api.s…
postfix via ssh でメール送信を安全にする VPN経由でメール送信をすると大変。VPNの管理がめんどくさい。 だったらHTTPS/SSHで配送すればいい。 SSH でpostfix配送する。 単純に、SSH起動して、SSH経由でsendmail を起動すればいい。 /etc/postfix/master.cf master cf で sshを起動する設定を掛けばいい master.cf にssh設定を書く ## ssh でVPSから送信する。 ssh-relay-hateml unix - n n - - pipe user=mail argv=/usr/bin/ssh -i /…
pkg(ports)のsendmailをインストールする sendmail_program="/usr/local/sbin/sendmail" sendmail_procname="/usr/local/sbin/sendmail" blacklistd対応するなら以下も追加 sendmail_flags="-L sm-mta -bd -q30m -O UseBlacklist" FreeBSDでpkg/ports版のSendmailを使う | 人生という名の酷道で遭難中 2022 とても参考になるconfEBINDIR Bin directory for mail.local and sm…
今回はsmtplibというモジュールを使って python上からメールを送るレッスン。 pythonはライブラリのインポートが簡単で使いやすいですね。 (他の言語は知らないけども) ついでに、Gitなどでアップする時に間違えて大事な情報とかもアップしないように .envを使った環境変数を使ったコーディングもしていきます。 環境変数とは… https://wa3.i-3-i.info/word11027.html ここのリンクでざっくりわかりますが、さらにざっくり言うならば python上の変数ではなく、使っているPCのos上で作られる変数。 なのでpythonファイルに直接大事な情報はコーディ…
前提とする環境はArch Linuxで公式パッケージからopensmtpdをインストールする場合。 まずMicrosoftアカウントでアプリパスワードを発行する。 パーミッションは640、所有ユーザはroot、所有グループはsmtpdとして/etc/smtpd/secretsを書く。 hogefuga myaccount@outlook.jp:アプリパスワード 1列目のhogefugaはラベルなのでなんでもよい。あとで使う。 2列目は使っているメールアドレスとアプリパスワードをコロンで繋いだもの。 /etc/smtpd/smtpd.confは次のような内容にする。 table aliases …
Amplifyで作成したアプリケーションでメール送信をしようと思い、Lambda経由でSESを呼んでみた。 メール送信用のIAMを作成してアクセスキーを使うパターンと、LambdaにSESでのメール送信権限を付与するパターン、両方試したが、まずはアクセスキーを用いるパターンをメモ。 環境 実装 Lambdaの作成 Lambdaの実装 GraphQL定義 GraphQL定義の注意点 コードから呼び出し 振り返り 環境 Amplify CLI v8.0.2。 パッケージマネージャーにはYarn、AWS SDK for JavaScriptはv3を使用。 フロントエンドの実装にはTypeScript…
GCPやFirebaseにはメール関連の現行サービスがなく、外部のメールサービスを使用する必要があります。 そのため、SendGridやAWS SESなどを組み合わせる必要があります。 今回はAWS SESを使うことになったのですが、そのためにアクセスキーやSMTPパスワードを管理するのはキーの管理方法を考える必要があり、手間です。 ですので、GCPのサービスアカウントでAWSのIAMロールに認証してメールを送信ようにしてみました。 今回の構成 メールを送りたいGCP側のサービスはFirebase Functionsで実装されています。Firebase FunctionsはApp Engine…
こんにちは、クラウドインテグレーション2部 技術1課 宮形 です。 アプリケーションから利用者へEメール配信を行う場合、AWSで利用されるサービスとして Amazon SES (Simple Email Service) があります。SES は、自身でMTA(SendmailやPostfix)を管理する必要が無いことや、Eメール送受信に応じた従量課金であることがメリットです。 今回業務で、利用中の SES を別AWSアカウントへ移行する要件がありました。調査・検証した内容を本BLOGでご紹介させていただきます。 概要 検証内容 移行先AWSアカウントでの SES セットアップ 独自ドメインの承…
インターネットを私が最初に使ったのは小学生の時ですが、その頃は検索結果に2ch投稿がたくさん出てくるような時代でした。最初に見かけた投稿は「HTMLでハッキングする方法」というものです。今考えればくだらないのですが、そのコードは単に内部ディレクトリを参照するだけのもので、当然外部の人が私のコンピュータの中身を見ているわけではありません。 ただ、私が最初に「HTML」「コード」というのを知ったのはその時でした。それからhtmlの他に、css、javascript、perlというものを知りました。そして面白かったのでそれらをネット上の情報だけで学びました。自分で何か作ろうと思ったので (今は時効で…