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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

2759閲覧

ウェブメーラーの作成(PHP,MySQL)において、ライブラリの選定などご意見お聞かせください。

chapp

総合スコア233

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/08/24 19:58

ウェブメーラーの作成(PHP,MySQL)において、ライブラリの選定などご意見お聞かせください。

お世話になっております。現在開発途中のサービスがあり、その一部にウェブメーラー機能を加えたいと考えておりますが、初めてのことだらけで色々と手こずっております。ライブラリの選定から構成など、皆様のご意見・ご指摘をお聞かせいただければと考え投稿いたします。よろしくお願いいたします。

■構成

前置きとなりますが、現在の構成を少しお話しさせてください。
サービスの主たるユーザーは企業単位で、その企業に属する社員も複数登録されています。
イメージ的に以下のような構成で、企業と、そこに属する社員が登録されています。

corporateテーブル no id shamei mail --------------------------------------------------------------------------------------------- 1 sanma サンマ商事 info@sanma.com 2 kujira クジラ商会 inquiry@kujira.co.jp 3 iwashi イワシ企画 support@iwashi.com

※それぞれメールアドレスを登録いただいているが、別途各社には
sanma@example.com
kujira@example.com
iwashi@example.com
のように専用メールアドレスが与えられている。
(ドメインはこちらの管理下となるもので、メールサーバーの設定などは行う)

staffテーブル(上記noとcorporate_no が紐づいている) no corporate_no name mail ------------------------------------------------------ 1 1 佐藤 satou@sanma.com 2 1 高橋 takahasi@sanma.com 3 3 斉藤 saitou@iwashi.com 4 3 山田 yamada@iwashi.com 5 2 鈴木 suzuki@kujira.co.jp

※社員(staff)のメールは各個人が使っているメールアドレスが登録されています。

■イメージしていること

各企業の代表(責任者)が、スタッフとお客様とのメールのやり取りを一元管理することが出来るウェブメーラーを考えています。

corporateテーブルで登録されているアドレスで送受信したメール。
staffが利用しているアドレスで送受信したメール。
これらを一元管理できるような仕組みで、同時にブラウザ上からメールを送受信できるような仕組みを考えています。

■考えていること、現在の対策。

1.受信メールの取得
各アドレスに届いたメールを取得し、データベースに(添付ファイルがある場合はそのファイルも含め)保存する必要があると考えています。取得するための対策として、事前に各社に割り当てた専用アドレス( sanma@example.com kujira@example.com iwashi@example.com など)に各自転送処理を行っていただき、その専用アドレスに届いたメールを取得した際、メールの内容をデータベースに保存しています。

2.メールの送信
送信したメールも一元管理するため、メールの送信はブラウザ上から行ってもらうことをイメージしています。
送信元となるアドレスは、サンマ商事であれば、送信する際、プルダウンで(info@sanma.comsanma@example.comsatou@sanma.comtakahasi@sanma.comの中から)選択して送信という流れで、送信した際、その送信内容をデータベースに登録する流れをイメージしています。

■質問
1.メールの取得を実現するために、ライブラリとしてQdmailReceiver( http://hal456.net/qdmail_rec/ )を利用しています。テスト段階では問題なく動いていますが、ユーザーが増えてきたときなど踏まえ、問題等ありますでしょうか?その他、メールの取得に関して効率のいいものはありますでしょうか?

2.メール送信の際、SPAM扱いされないためにもSMTP送信した方が良いとの記事を目にし、メールの送信は、ライブラリであるPHPMailerの利用を考えています。
現在、テスト段階で送信テストを行っているのですが、経由するSMTPサーバーと送信元となるアドレスは同一のものが良いとの記事も目にしているため、送信アドレスに毎に、経由するSMTP情報をはめ込み送信していますが、このSMTP情報、規則性がないためか、送信メールによって送信に失敗するという不具合が起きています。
ここで質問です。現時点では、送信アドレスを問わずSMTP情報は一定とすることで、送信が出来るまで確認していますが、SMTPと送信元は違っても問題ないのでしょうか?それとも他のお勧めやライブラリなどはありますでしょうか?

以上、初めてのことだらけということあり試行錯誤を繰返していますが、効率の悪い仕組みになっていないか?など不安要素が多くあり、このたび質問するまでに至りました。

上記、質問1、2を問わず、「こうした方が良いよ」という意見でも構いません。どんな些細なことでも構いませんのでアドバイスのほど頂戴出来れば幸いです。

説明不足なところも多いかと思いますので、必要な際はその旨ご指摘ください。補足にて説明いたします。

よろしくお願いいたします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2016/08/24 23:01

メールサーバで送受信フックした方が漏れませんがメールサーバにはSSH+ルートユーザー権限で接続できないのかな?
bananacoffee

2016/08/25 06:15

受信にQdmailReceiverを使用されているのであれば、送信もQdmail+Qdsmtpにしてしまうと見通しは良くなるかもしれませんね。
chapp

2016/08/25 20:58

haruka-kanataさま ご親切な回答ありがとうございます。メールの受信にはメールサーバーにSSHにてアクセスした方が宜しいとのことでしょうか? 当方、いわゆる通常の共有のレンタルサーバーしか経験がなく、そのような範囲にまで考えが及んだことありません。「メールサーバー SSH」なるワードで調べてみるものの、今回の仕組みと比較し、メリットなどご教示いただけると幸いです。よろしくお願いいたします。
chapp

2016/08/25 21:04

bananacoffee bananacoffeeさま ご親切な回答ありがとうございます。送信もQdmail+Qdsmtpにするメリットなどお聞かせいただけると幸いです。現状に至るまで「Qdmail+Qdsmtp」ももちろん検討していたのですが、開発がずいぶん前に終了しており、PHP5ではエラーが出ているとの情報があったことから現在に至っています。実際に実装したらエラーを経験したわけですが、私の情報不足は十分に考えられます。お忙し中恐縮ですが今一度、「Qdmail+Qdsmtp」にするメリットをお聞かせいただければ幸いです。よろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2016/08/26 01:05 編集

うちの会社で請け負った業務では メールサーバーとセットで提供していた。 関与はしてないので詳しくはしりません。 ですが端末変更で設定し忘れる、設定ミスを防げます。
chapp

2016/08/26 00:31

haruka-kanataさま 早速のお返事をありがとうございます。事例として貴重な情報と受け止め、もう少し調べてみます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問