• ベストアンサー

メールの送信について

Web上からユーザ登録した人向けに「仮登録」のメールを送信し、メール上のURLをアクセスしたときに「本登録」が完了するという仕組みで認証をしています。 3日以内にアクセスしないと「仮登録」が無効になり、URLにアクセスできなくしているのですが、自動でメールにて期限切れ通知を送信することは出来ますか? 宜しくお願いします。 FreeBSD/Apache/PHP/sendmail/MySQL

質問者が選んだベストアンサー

  • ベストアンサー
  • hiroaki_0
  • ベストアンサー率53% (131/245)
回答No.1

仮登録から、きっかり3日後は難しいと思います。 1日1回、確認のプログラムを動かして、3日以上たっているものを選択してメール送信すれば良いのではないでしょうか? なるべく「きっかり3日」にしたいなら、毎分確認プログラムを動かせばいいのでしょうが、サーバーの負荷が高くなりすぎるでしょう。

関連するQ&A

  • メール送信

    php初心者です phpのバージョン5.2.5 会員登録したときにメールを送ってurlをクリックしたら登録をできるようにしたいです 質問1 phpで日本語のメールを送信するにはどうしたらいいですか? 質問2 認証メールの方法なんですがどうすればいいでしょうか? 素人なりに考えたのが 仮登録→メール送信→urlクリック→getで受け取る→mysqlでそのidをセレクトし番号照合 ここでわからないのは、照合番号の生成方法です あと、照合番号は番号だけでいいでしょうか? サンプルでphpコード書いていただけると助かります。大雑把でいいのでmysqlの部分は抜かしてもわかります よろしくお願いします

    • ベストアンサー
    • PHP
  • メールの送信

    mail コマンドからメールが送れるのは、sendmail が使われているのでしょうか?それとも mail コマンドが単独でメールを送っているのでしょうか? ただいま、管理人にメールが送れるウェブサーバーを立てたいと思っていますが、MTA を使わずにメールを送信できるのなら、使わずにメールを送信できるようにしたいです。PHP を使ってメールを送信する予定です。しかし、PHP を使ってメールの送信が出来ません。mail コマンドで送信できたので、PHP でも送信できそうな気がしたのですが。 やはり mail コマンドも sendmail を使っているのでしょうか?その場合、sendmail のパスは、/usr/libexec/sendmail/sendmail で合っていますでしょうか? /etc/mail/mailer.conf を見て、実際見に行ったら sendmail があるようですが、パスをそのように指定しても、メールが送信されません。 環境は FreeBSD5.0R です

  • PHPメール自動送信

    PHP初心者です。 アドレス入力→送信→仮登録完了→入力していただいたアドレスに本登録用のURL付きメールが届く という仕組みを作っていますが、送信を押して仮登録用DB保存まではできています。 しかしそのあとメールが送られてきません。 nyuuryoku.phpのページで入力フォーム(name="mailaddress")にアドレスを入力して「送信」をクリックした時の画面です↓ //soushin.php(仮登録完了のページ) <?php session_start(); include '../db.php'; if (!isset($_SESSION['join'])) { header('Location: nyuuryoku.php'); exit(); } else { //登録処理 $sql = sprintf( 'INSERT INTO karitouroku VALUE( %d,"%s","%s")', 0, mysql_real_escape_string($_SESSION['join']['mailaddress']), date('Y-m-d H:i:s')); $result = mysql_query( $sql,$link )or die(mysql_error()); } //自動メール送信 $to = $mailaddress; $subject = '仮登録'; $message = "24時間以内に本登録にお進みください"; $headers = mb_encode_mimeheader(mb_convert_encoding("山田太郎","JIS","EUC-JP"))."<aaa@abc.com>"; mail($to, $subject, $message, $headers); echo "$mailadr宛に確認メールを送信しました。"; ?> 私は$to = $mailaddress;の書き方が間違っているのかと思いましたが、正しい記述がわかりません。 さらに、送られてきたメールのURLをランダムな文字列にしたいとも考えています。 その場合は仮登録用のDBにもフィールドを追加しなければなりませんか? 今のところ仮登録用のDBのフィールドには id・mailaddress・created(登録日)を格納しています。 そしてそのURLにある本登録にアクセスした時、ユーザーが入力したアドレスが表示されている状態にしたいのです。 このソースに書き加えるようにしたいのですが、メールの自動送信・ランダムな文字列生成どなたかわかる方がいらっしゃいましたらご教授ください。 また、本登録にユーザーのアドレスが呼びだされる仕組みもお願いします。 (説明が下手で申し訳ありません) よろしくお願いします。

    • ベストアンサー
    • PHP
  • FreeBSDでのsendmailでのメール送信

    はじめまして FreeBSD11.0で自前サーバ構築をしています。 今回、サーバ上からsendmailで、下記ページを参考にメールを送信を試みています。 ・http://x68000.q-e-d.net/~68user/unix/pickup?sendmail FreeBSD11.0上での作業は、以下の通りです。 1. /etc/rc.confに下記を追加 sendmail_enable="YES" 2. リブート 3. sendmailが動作していることを下記で確認 # /etc/rc.d/sendmail status sendmail is running as pid 713. sendmail_msp_queue is running as pid 716. # 4. sendmailコマンドを実行 % sendmail From:送信元メールアドレス To:宛先メールアドレス Subject:タイトル xxx . % ●結果、コマンドは、正常に終了してますが、メールは、送信できません。 試しに自分の契約しているレンタルサーバ(FreeBSD9.1)で上記の4.のsendmail コマンドを実行すると、メール送信ができます。 環境設定など作業上なにが足らないのでしょうか。 FreeBSDのsendmailコマンドでの送信についてご存知の方がおりましたらご教示頂け ないでしょうか。 いろいろと調べたり試行錯誤したのですが、解決できなく質問をさせて頂きました。 よろしく、お願いいたします。

  • メール送信に関して

    教えて下さい。 登録画面を用意し、そこに入力されたEメールアドレス宛に、登録ボタン を押した時点で返信メールが送られるような仕組みを作成したいと考えて おります。 調べてみましたが、mail関数機能を使用すればと記載されていましたが、 実際にどのように記述するのかわかりません・・・。 サンプルでは下記のような設定をするとありましたが、それぞれ具体的に どのような設定をすれば良いでしょうか?  mail(smtp,smtp_port,sendmail_from,sendmail_path) また、ある程度めぼしを付けて作成し、サンプルを設定して実行したところ、 下記のようなエラーが表示されました。 何がおかしいのでしょうか。。。。 Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Apache Group\Apache2\htdocs\XXXX\sendmail.php on line 172 どなたかわかる方、ご教授下さい。 よろしくお願いします。

    • 締切済み
    • PHP
  • 空メール送信用ASP

    現在、携帯用会員サイト向けのホームページを作成しているのですが、 会員登録時によくある以下のような仕組みを考えています。  1. QRコードを読取ると、メール送信用画面が立ち上がる。      ↓(客先側より空メール送信)  2. 受信したアドレス宛に『登録フォーム』アクセス用URL付きの    メールを自動返信。      ↓  3. 客先側にて登録フォームより会員登録を行う。    【この時、フォーム内のアドレス入力欄には、2で受信した     メールアドレスを自動で入力させる】      ↓  4. 登録完了時点で当方よりの会員アクセス用メールを自動送信。 上記の1,2,4の仕組みは完了しているのですが、3の【】内の仕組みだけが分かりません。 そこで、どなたかお知恵を貸していただけませんでしょうか。 よろしくお願いいたしますm(_ _)m

  • HTMLのページからメールを送りたい

    VineLinux 3.1 Linux初心者のものです。 現在、とあるサーバ機にVineをインストールして、apacheをインストールしました。 やりたいことは、サーバにhttpアクセスしてきた人たちが、そのサイト内でメール送信を行いたいのです。 sendmailは消して、qmailをインストールするだけで、メール送信はできるようになるのでしょうか? ドメイン登録とかしなければ、メールは送信できないのでしょうか? 良きアドバイスのほど、よろしくお願いいたします。

  • sendmail メール送信完了ステータスの受け方

    環境は、レンタルサーバで、各機能のバージョンは以下の通りです。 Apache/1.3.41 Ben-SSL/1.59 (Unix) Perl v5.6.1 built for i386-freebsd Version 8.13.1 現在、「sendmail -t」にて複数のメールを送信していますが、サーバの負荷によりsendmail処理が遅延し、そのプロセスが終了する前に次の新たなSendmailコマンドを発行すると rejecting commands from localhost [127.0.0.1] due to pre-greeting traffic で強制終了されてしまいます。 sendmailをcloseしてから、数秒タイムラグを置いてみても、サーバ負荷の遅延がタイムラグより大きくなる事があるようで困っています。 そこで、メールが送信終了(sendmailが送信プロセスを終了)した事を確認してから、次の処理に進みたいと考えていますが、perlプログラム内で終了ステータスを受ける事が出来るのでしょうか? その他、強制終了を防ぐ方法がありましたらアドバイス願います。 ちなみに、レンタルサーバ業者にsendmail送信件数上限を確認した所、150件/分との事でした。 現在、10件/分程度の送信間隔としていますので、上限閾値を超えているような送信はしていないと思います。

    • ベストアンサー
    • Perl
  • 会員登録したらメールが送られてきて仮登録、その後、本登録

    会員登録したらメールが送られてきて仮登録状態となり、そのメールのURLにアクセスすると本登録となるシステムをphp+mysqlで作りたいです。何か手本となる情報はありませんでしょうか?

    • ベストアンサー
    • PHP
  • メール送信について

    こんばんは。PHPでmb_send_mailを使ってメールを送信したいのですが、「Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 521 mail not accepted from this domain in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap2\sendmail.php on line 5メール送信に失敗しました。」とエラーが出てしまい上手くできません。 ■PHPスクリプト 1:<?php 2:$to='○○○○○@yahoo.co.jp'; 3:$subject='テストメール'; 4:$body='ようこそ!'; 5:if(mb_send_mail($to,$subject,$body)){ 6: print('メール送信に成功しました。'); 7:} 8:else{ 9: print('メール送信に失敗しました。'); 10:} 11:?> PHP.iniファイルはSMTP=smtp.mail.yahoo.co.jp、sendmail_from=CQW15204nifty.comと設定しております。 参考書通りにやっているのですが、メーラーに送られません。この状態で他に考えられる原因とかありますか?わかる方ぜひ教えてください。

    • 締切済み
    • PHP