質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Q&A

1回答

1414閲覧

メールフォームを修正してGmailの送信者名の横に表示される詳細情報を削除したい

laki

総合スコア16

CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

0グッド

0クリップ

投稿2023/03/10 07:57

編集2023/03/10 12:29

実現したいこと

一つのサイトの中に、フォームを二つ設置しています。
「メールフォームプロ(Mailform Pro) v4.2.5」と「クリップメール(clipmail) v6.5」です。
片方は、ファイルを添付したいので、「clipmail」を使用しています。
送信者のメールアドレスは、どちらも「no-reply@ドメイン」にしています。

Gメールで、自動送信メールを受けると、
「Mailform Pro」のほうは問題ないのですが、
「clipmail」のほうは、送信者名の横に「メールアドレス サーバードメイン 経由」と
詳細情報が表示されます。

「Mailform Pro」でできているのだから、
「clipmail」を修正して、この詳細情報を表示できないようにしたいです。

「Return-Path」が入るようにすればいいのでしょうか。
CGIは設置するのが精一杯で、詳しくありません。

イメージ説明

試したこと

元々、迷惑メールに振り分けられていたので、
SPFレコードを確認したところ、
v=spf1 include:spf.protection.outlook.com -all でしたので、
v=spf1 include:spf.protection.outlook.com include:_spf.heteml.jp ~all に修正しました。

これで、迷惑メールではなくなりました。

補足情報(FW/ツールのバージョンなど)

メールサーバーは「Microsoft 365」
レンタルサーバーは「ヘテムル(heteml)」

返信内容フォーマット・・・clipmail

my $res_body; if ($cf{auto_res}) { # 件名MIMEエンコード my $re_sub = mime_unstructured_header($cf{sub_reply}); $res_body .= "To: $email\n"; $res_body .= "From: $cf{mailto}\n"; $res_body .= "Subject: $re_sub\n"; $res_body .= "MIME-Version: 1.0\n"; $res_body .= "Date: $date2\n"; if ($cf{send_b64} == 1) { $res_body .= "Content-type: text/plain; charset=utf-8\n"; $res_body .= "Content-Transfer-Encoding: base64\n"; } else { $res_body .= "Content-type: text/plain; charset=iso-2022-jp\n"; $res_body .= "Content-Transfer-Encoding: 7bit\n"; } $res_body .= "X-Mailer: $cf{version}\n\n"; $res_body .= "$reply\n"; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

メールフォームプロCGI のドキュメントをざっと読んだ感じでは、SMTP送信機能

そういった場合にsendmailではなくSMTPサーバを利用してメールを送信する機能です。
本機能はsendmailから送信された場合に迷惑メールフォルダに振り分けられる場合などにご利用いただくことで、迷惑メールやフィッシングメールといった扱いになることを回避することもできます。
より確実にメールを送信する場合はGmailSMTP機能もあります。

と記載されています。

使用環境として、メールサーバーに「Microsoft 365」をお使いと書かれていますが、Mailform Pro の設定では、SMTP送信機能を設定して、Microsoft 365経由で送信されているのでしょうか?


多くのフリーCGI では、メールの送信に sendmail コマンドを用いていると思います。
メール送信の設定が異なっているのであれば、推測できる原因としては、メール送信経路の違いで表示されている可能性があります。

それぞれの CGI から届いたメールを gmail ヘルプの 完全なヘッダーからメールの経路を確認する の手順で、どのような経路を通っているか確認してみてください。

メール配送経路が異なっているのであれば、それが原因と思われます。


上記仮定が正しいとすると clipmail の CGI で、 sendmail コマンドを使用してメール送信している部分を探して、メールをSMTP送信できるライブラリの Net::SMTP を用いるなどの方法でメール送信するように書き換える必要があります。

CGIは設置するのが精一杯で、詳しくありません。

ご自身で、perl のコードが書けない状況であれば、詳しい人にCGIを修正してもらう or メールフォームプロCGI の有料版のファイル添付機能を使用する等を検討する必要があるかもしれません。


(追記)

とりあえず、Net::SMTP でメールを送信する流れとしては、

use Net::SMTP; my $smtp = Net::SMTP->new( '送信に使用するメールホスト名', Port => $mailport); $smtp->auth(’認証するユーザー名’, ’パスワード’); $smtp->mail('差出人メールアドレス'); $smtp->to('送信先メールアドレス'); $smtp->data(); $smtp->datasend('メールヘッダ'); $smtp->datasend("\n"); $smtp->datasend(’メール本文’); $smtp->quit;

のような感じでしょうか。
日本語で書いている部分は、適宜プログラム中の変数等に置き換える必要があると思います。

投稿2023/03/12 14:43

編集2023/03/12 14:45
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

laki

2023/03/13 01:23

回答どうもありがとうございます。 メールフォームプロのモジュール(CGIの追加機能)のSMTP送信は有効にはしていません。 メールのヘッダーも確認してみたりしたのですが・・・ オススメの「メールフォームプロCGI の有料版のファイル添付機能を使用」しようと思います。
CHERRY

2023/03/13 02:02 編集

SMTP 経由で送信を有効化されていないのですか。 そうであれば、原因は異なってきますので詳細な情報がわからないと判断は難しいです。 回答に記載したメール経路の確認は、どうなっていましたか? 同じでしたか? 違う経路がありましたか? また、「メッセージのソースを表示」で表示されるがメールヘッダの内容は、どうなっていますか? どの部分が異なっていますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問