問題タブ [postfix-mta]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - CentOSのphpでmail()を使用してWebアプリからメールを送信する方法(sendmail、postfix、...?)
私たちはウェブアプリを構築しており、phpのmail()関数を使用して頻繁にメールを送信する必要があります。たとえば、ユーザーがアプリにサインアップしたとき、クライアントが新製品を注文したときなどに、メールを送信するために使用しています。
これを実現するために、CentOSサーバーに何をインストールするのが最適ですか?私はMTAとして使用するsendmail、postfix、その他のパッケージについてたくさん読みましたが、何が必要か理解できませんでした。
ユーザー向けのメールボックスは実行しません。ウェブアプリからメールを送信するだけで、メールは受信しません(そのためにGoogleアプリを使用しています)
セットアップとメンテナンスが簡単なソリューションを探しています
jakarta-mail - Javaを使用してPostfixの受信トレイを解析する
私はPostfixをメールサーバーとして使用していて、ある宛先へのメールを受信するように設定しました。
受信メールを解析して何らかのアクションを実行するJavaコードを作成したいと思います。どこから始めればいいのか、何を使うのか、何か考えはありますか?
postfix-mta - postfix で subethasmtp を使用できますか?
postfix を subethasmtp で使用して、postfix がメールを subethasmtp に配信し、それらのメールを処理できるようにすることは可能ですか?
php - CakePHP と Postfix でメール バウンスを処理する
返送されたメッセージを処理し、担当のシステム管理者に送信しようとしています。
CakePHP の Email Component を使用してメッセージを送信します。サーバー側では、postfix を使用してメッセージを転送します。
上記のように、$Email->return をシステム管理者のメールに設定して、すべてのバウンス メッセージを送信します。
postfix の設定で、bounce.cf テンプレートを作成して、bounce_template_file を設定してみました。http://www.howtoforge.com/configure-custom-postfix-bounce-messages
バウンスされたメッセージを取得してシステム管理者に送信するにはどうすればよいですか?
python - Python を使用して os.spawnv を使用して電子メールのコピーを送信する方法は?
最初に、subprocess モジュールを使用する方が良いことはわかっていますが、他の人のコードを編集していて、新しいモジュールのインポートを避けるなど、変更をできるだけ少なくしようとしています。したがって、可能な限り、現在インポートされているモジュール (os、sys、およびパス) に固執したいと思います。
現在、コードは次のとおりです (postfix-to-mailman.py という名前のファイルにあり、一部のユーザーにはなじみがあるかもしれません)。
これは正常に動作します (ただし、sys.exit(0) は呼び出されない可能性があるため、不要であると思います)。
これにより、現在のプロセスが /usr/sbin/sendmail への呼び出しに置き換えられ、引数 /usr/sbin/sendmail (argv[0] 自体) と 'someaddress@someplace.com' が渡され、次に環境が渡されます。現在のプロセス (sys.stdin の電子メール メッセージを含む) を子プロセスに送信します。
私がやりたいことは、基本的に、これを行う前にメッセージの別のコピーを送信することです。実行が停止するため、execv を再度使用することはできません。だから私は次のことを試しました:
ただし、メッセージは other@place.com に送信されますが、first@place.com には送信されません。
spawn を使用すると子プロセスが開始され、現在のプロセスが返されたときに (または P_NOWAIT が使用されている場合は待機せずに) 実行が継続されると思っていたので、これには驚きました。
ちなみに、最初に os.P_NOWAIT を試してみたのですが、other@place.com で受信したメッセージが空だったので、少なくとも P_WAIT を使用すると、メッセージはそのまま通過しました。しかし、それでも問題である first@place.com に送信されることはありませんでした。
回避できるなら os.system を使用したくないです。回避できるならシェル環境に行きたくないからです (セキュリティの問題、パフォーマンスの可能性? 私はここで妄想的であることを認めますが、 os.system を避けることができます)。
私が考えることができる唯一のことは、os.spawnv への呼び出しが何らかの形で sys.stdin の内容を消費/空にしていることですが、それも実際には意味がありません。アイデア?
regex - awkを使用して特定のクライアントからPostfixログのすべての会話を抽出するにはどうすればよいですか?
会話を開始したクライアントに基づいて、Postfixログファイルから会話を抽出しようとしています。これは、一致するメッセージIDを抽出するawkスクリプトです。
awk '/client.host.name/ && !(/timeout/||/disconnect/) { sub(":","",$6);print $6}' maillog
これは、入力として標準のPostfixメールログを使用しています(サンプルデータについては、以下を参照してください)。私がやりたいと思うのは、最初の検索の結果を使用したファイルのマルチパス検索ですが、これが正しいアプローチであるかどうかはわかりません。似たようなもの:
awk '/client.host.name/ && !(/timeout/||/disconnect/) {sub(":","",$6);msgid=$6} $0 ~ msgid {print $0}' maillog
しかし、当然、これは期待どおりに機能しません。私は次のいずれかを行う必要があると想定しています。
- 最初のawkからの出力を2番目のawkまたはgrepにパイプします(パイプされた入力を正規表現として使用する方法がわかりません)。
- 最初の結果セットを配列に割り当て、その配列を検索セットとして使用します。次のようなもの
awk '/app02/ && !(/timeout/ || /connect/) { sub(":","",$6);msgid[$6]=$6; } END { for(x in msgid) { print x; } }' maillog
ですが、forループ内でどのように進めるかはわかりません。awkでファイルを「巻き戻し」てから、配列内の任意の要素に一致するすべての行を取得する方法はありますか? - 取引全体を破棄し、Perlを使用して試してください。
それで、awkの達人のために...私がawkを使って探していることを達成する方法はありますか?
サンプルデータ:
email - Postfix のキューにメッセージを挿入するにはどうすればよいですか?
電子メールを隔離してルーティングするアプリケーションに取り組んでいます。このアプリケーションで、選択したディレクトリに電子メール メッセージがあり、ソフトウェアによってスキャンされ、「クリーン」と見なされたとします。このメッセージを Postfix に戻すにはどうすればよいですか?
java - Webアプリケーションに電子メール機能を追加するには何が必要ですか?
メール機能を追加したいJavaWebアプリケーションがありますが、これを実現するために何が必要かわかりません。具体的には、アプリで次のことができるようにします。
- サインアップを確認するメールを送信する
- 私のアプリのドメイン、つまりdan@my-app.comを使用して、ユーザーが互いにメールを送信できるようにします
私の調査によると、Postfixのようなメール転送エージェント(MTA)と、おそらくCourierのようなIMAPサーバーが必要になるようです。しかし、IMAPサーバーの必要性を理解していません。
ありがとう。
php - PHPメールのフォーマットの問題-CRLFヘッダー行の末尾がOutlookのHTMLメールを壊すのはなぜですか?
私はPHPネイティブmail()
関数を使用してHTMLメールを送信していますが、ユーザーの最も一般的なメールクライアントであるOutlook 2007(他のいくつかのメールクライアントに加えて)でフォーマットの問題があります-すべてのhtmlタグが公開されているため、非Web開発者。
PHPのマニュアルでデモするのと同じ方法でHTMLメールを送信しています。例:
さまざまな電子メールクライアントのテストは難しいため、 http://litmusapp.com/にサインアップして、47の異なる電子メールクライアントの電子メールのスクリーンショットを見ることができます。ほとんどは問題ありませんが(Gmail、Thunderbird、Lotus Notesなど)、Outlookのすべての異なるバージョンは問題ありません。
フォーマットの問題を修正するために、私は次のことを行いました。
$headers = "MIME-Version: 1.0\r\n";
メールヘッダーを削除します。- ヘッダーを「
\n
」ではなく「」のみで終了するようにしてください\r\n
。
マニュアルに準拠していないのに、なぜHTMLメールでより良い結果が得られるのか誰かが知っていますか?
情報:
- RHEL5.5でpostfixバージョン2.3.3を使用しています。
- PHPバージョン5.3.2
email - postfix: プログラムによるユーザーの追加
私は 2 か月前にこの質問をしましたが、答えはほとんどありませんでした。実際、ほとんど関心を集めていない質問をしたことで、タンブルウィード バッジを獲得しました。
しかし、これは決定的な答えを伴う簡単な質問のように思えます。私は本当にこれを行う必要があります.
それでも答えがない場合は、誰かが私を助けるかもしれない他のフォーラムについて何かアイデアを持っていれば幸いです. Godaddy に問い合わせてみましたが、このレベルのサポートに十分なお金を費やしていないようです。
ありがとうございます。質問は次のとおりです。
私は Godaddy 仮想専用サーバーを使用しています。それにバンドルされているデフォルトのメール サーバーは postfix です。godaddy コントロール パネルからドメインとユーザー アカウントを追加する方法もあります。
私は、(1) 彼らがコントロール パネルを介して新しいアカウントを作成するために何をしているのか、そして (2) Linux シェル スクリプトを介してそれを行う方法を理解しようとしています。
私は postfix を使用したことがなく、man ページやその他のドキュメントをざっと読んでみました。ユーザー アカウントがドメインに関連付けられている場合、ユーザー アカウントは「仮想」であるように見えます。これまでのところ、godaddy コントロール パネルを使用して新しいメール アカウントを追加すると、/etc/postfix/turbopanel/virtual_alias にエントリが追加されることがわかりました。次に、そのエントリも同じディレクトリ内のバイナリ virtual_alias.db にコミットされるようです。
新しい電子メール アドレスを virtual_alias ファイルに追加し、postmap /etc/postfix/turbopanel/virtual_alias を実行して virtual_alias.db ファイルにエントリを取得するプロセスを手動で複製しました。これは機能しますが、いくつかの手順がありません。追加したユーザーにメールを送信できず、godaddy コントロール パネルにユーザーが表示されません。
仮想エイリアス用に新しい Linux アカウントを作成する必要はないと思います。コントロール パネルで作成されたアカウントには、/etc/passwd に関連付けられたエントリがありません。
どんな助けでも大歓迎です。
ジェレミー