• 締切済み

携帯デコメでphpを起動させ、デコメメルマガを配信したい

デコメメルマガを、携帯デコメをそのまま送ってPHPを起動させることにより、そのままそのメール内容で配信したいです。 すでに、アドレス登録は別の画面で管理し、アドレスをmail.datファイルに格納しています。 あと、メールをトリガーにして、指定したphpファイルを起動させるのもできています。 デコメ送信のQdmailと、 http://hal456.net/qdmail/ メール解析のQdmailreciever http://hal456.net/qdmail_rec/200805/p1 というのがあったので、使えるかとおもい、 QdmailrecieverのSTDINモードで、メールの件名と本文と添付ファイルを取得 Qdmailで、取得した内容を送信してみました。 phpをこないだはじめたばかりのため、 メール送信して、件名と本文までは、返せたのですが、デコメの添付ファイルも返すことについてがどうしても、わかりませんでした。 (送信したデコメのファイルはフォルダに格納されているけど、返されてきた、メール内にはファイルが割れてテキストのみが届く) それ自体、Qdmailのライブラリでできることなのかも、よくわかりません。 これについての、解決案がありましたらお願いいたします。 もしくは、まったく別の方法でないといけないのなら、 それもご教授いただけると本当に助かります。

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

回答No.1

よくわからないけど参考になるかもしれません http://hal456.net/qdmail/oopattach

関連するQ&A

  • デコメについて・・・

    こんばんわ 私わ(中)2の女子なんですが 最近デコメにはまっていてyahooメールで デコメをpcに保存してそこからケータイに送るっていう方法で ケータイにデコメを入れています。 でもyahooメールは、1通50円もかかるみたいですね(ΦДΦ) なのでメールの本文中にデコメを入れてケータイに送信したいんですけど 画像をコピーしてメールの本文中に貼り付けても ✕印が出てうまく表示されないんです(*_*) それにケータイに送信してもやっぱり画像が表示されなくって・・・。 どなたか解決方法ご存知の方! ご回答お願いします。

  • 携帯サイト空メール処理プログラム(PHP)について

    PHPでできた携帯サイトの空メール処理のプログラムのカスタマイズをしています。 空メールが送られてきたらkaramail.phpが起動し、送信者のメールアドレスを取得して、メッセージの自動送信をするところまでできているのですが、それにメールタイトル(Subject)の取得も付け加えようとしています。 メールアドレスの取得と同様の方法でできるとは思うのですが、文字コード別の処理などもあるので、複雑になると推測しています。 ネットなどで調べると「空メール処理プログラムは様々な場合を想定しなければならないので大変複雑で手間がかかる」とのことです。 携帯機種による違い、送信元のメーラーによる違い、その他いろいろあるのだと思うのですが、あくまでも推測で「これとこれに関する処理が必要」といった具体的な情報が見つからずに困っています。 サンプルプログラムにしても、メールアドレスを取得するものはネットや書籍に出ているのですが、タイトルを取得するものは出てきません。 普段はPCサイトの開発を行っているので、携帯事情がよくわからず、調べても出てくる情報がとても少ないです。 おそらく実務で開発した経験がある人だけが知っていることなのだと思います。 携帯空メールでタイトルを取得する場合、どのような処理が必要なのか。詳しい方、実務で開発している方がいらしたら教えて下さい。 送信されてきたメールのヘッダーを調べる環境は作ってあります。 サーバーはさくらインターネット、karamail.php上のメールアドレス取得スクリプトは下記です。 ------------------------------------- #!/usr/local/bin/php -q <?php // main { $stdin = fopen("php://stdin", "r"); if (!$stdin) { exit(); } $email = ""; while ($line = fgets($stdin)) { $line = trim($line); if (!$line || $email){ break; } // 送信元メールアドレスの取得 if (eregi("^from:", $line)){ $email = getEmail($line); } } // メールアドレス取得関数 function getEmail($line) { if (eregi("(.*)\<(.*)\>", $line, $tmp)){ $from = $tmp[2]; } return strtolower(trim($from)); } -------------------------------------

    • ベストアンサー
    • PHP
  • auの携帯、デコメの送り方

    こんにちは! 最近、母の携帯どうしで、友達とメールのやり取りをするのですが、デコメの送り方がいまいちよく分かりません。 “データフォルダ”の中の、“グラフィック”のところにある、文字のあとにつけるような、キャラのものだったり、動いたりする、小さいパーツ(?)のことです。 “添付”のところに貼ることは出来るのですが、本文中に貼りたいんです。 本文中に貼ることのできる人は、やり方を教えてください! 宜しくお願いします^^

  • サンダーバードから携帯へデコメを送りたい

    サンダーバードを使用してますが、携帯にデコメを送る方法ってないですか? html形式でメッセージを編集するにチェックも入っているのですが、文中に絵文字を入れてもドコモの携帯では「添付ファイル削除」と出てしまいます。 方法無いでしょうか? 外部のサービスを使用してPCから携帯へデコメのメールを送信する方法はあるのは知ってます。 そうではなく、今回はサンダーバードのメーラーを使って送信する方法が知りたいです。

  • phpでのメール転送(添付ファイルつき)について

    目的: phpにて、添付付きメールを、件名だけ変更して、添付ファイルごと外部へ転送する。 現在、メール受信したものを、mysqlに保存(UID、件名、送信元メールアドレス(一致したものを、指定の件名に変更)、送信日、受信日、本文)、 添付ファイルはサーバー上に保存し、 メール送信時に、サーバー上に保存した添付ファイルとmysqlのデータを読み込み、送信しています。 (添付ファイルは、定期的に削除) これを、もっと簡潔に出来ないでしょうか。 サーバー上に添付ファイルを残さないで済み、 未受信のメールのみ 1画面上で、添付メールごと転送できるのが理想です。 ※mysqlへの保存は、あってもなくてもかまいません。 以下が、現在の状態です。 参考にしたのは、こちらのサイトです。 http://hal456.net/qdmail_rec/top http://www.favorite-labo.org/view/202 ※サーバはCPIです。 **メール受信処理** <?php // QdmailReceiver呼び出し require_once('qdmail_receiver.php'); //POPサーバー(受信サーバー)にアクセスするための初期設定。 $server = array( 'protocol'=>'pop3', 'host'=>'(ホスト名)', 'user'=>'(ユーザー名)', 'pass'=>'(パスワード)', ); qd_receive_mail( 'start' , $server , 'eucJP-win' ); //オブジェクト指向モードでの初期化 $receiver = QdmailReceiver::start( 'pop' , $server); for($i = 1 ; $i <= $receiver->count() ; $i++){ $todaydata = date("Y-m-d"); // *************** メールデータ取得処理 *************** $pointer = $receiver->pointer(); // pointer $popuid = $receiver -> header( 'popuid' );// UID $subject_name = mb_convert_encoding(($receiver->header( array('subject','name') , 'none' )),"Shift-JIS","auto");//件名 $from_mail = $receiver->header( array('from','mail') , 'none');//送信元メールアドレス $date = $receiver -> header('date');//送信日 $text = mb_convert_encoding(($receiver->text()),"Shift-JIS","auto");//本文 // *************** UID照合処理 *************** include '(mysql接続)'; $ii=0; while ($row = mysql_fetch_assoc($result)) { $ii++; } if($ii == 0){ // *************** 転送前データの保存 *************** include '(mysql接続)'; // *************** 添付ファイル保存 *************** $attach = $receiver->attach(); foreach($attach as $att){   $moji = mb_convert_encoding($att['filename'],"Shift-JIS","auto"); $fp=fopen($moji,'w'); fputs($fp,$att['value']); fclose($fp); } }else{ print('取得済みにつき未処理'); } ?> **メール送信** <?php //マイムタイプ定義 $mime_content_types = array( 'ez' => 'application/andrew-inset', 'atom' => 'application/atom+xml', 'atomcat' => 'application/atomcat+xml', ~略~ 'avi' => 'video/x-msvideo', 'movie' => 'video/x-sgi-movie', 'ice' => 'x-conference/x-cooltalk' ); //送信先メールアドレス $to = '(送信先メールアドレス)'; //送信元メールアドレス $from = '(取得した送信元メールアドレス)'; //件名 $subject = '(変更した件名)'; //メール本文 $message = (取得した本文); //添付ファイル $files = array('(添付ファイル1へのパス)','(添付ファイル2へのパス)…以下、あるだけ'); //件名・本文をエンコード $subject = mb_convert_encoding($subject, 'JIS', 'Shift-JIS'); $message = mb_convert_encoding($message, 'JIS', 'Shift-JIS'); $subject = '=?iso-2022-jp?B?' . base64_encode($subject) . '?='; //バウンダリ文字列を定義 if (empty($files)) { $boundary = null; } else { $boundary = md5(uniqid(rand(), true)); } //メールボディを定義 if (empty($files)) { $body = $message; } else { $body = "--$boundary\n"; $body .= "Content-Type: text/plain; charset=\"iso-2022-jp\"\n"; $body .= "Content-Transfer-Encoding: 7bit\n"; $body .= "\n"; $body .= "$message\n"; foreach($files as $file) { if (!file_exists($file)) { continue; } $info = pathinfo($file); $content = $mime_content_types[$info['extension']]; $filename = basename($file); $body .= "\n"; $body .= "--$boundary\n"; $body .= "Content-Type: $content; name=\"$filename\"\n"; $body .= "Content-Disposition: attachment; filename=\"$filename\"\n"; $body .= "Content-Transfer-Encoding: base64\n"; $body .= "\n"; $body .= chunk_split(base64_encode(file_get_contents($file))) . "\n"; } $body .= '--' . $boundary . '--'; } //メールヘッダを定義 $header = "X-Mailer: PHP5\n"; $header .= "From: $from\n"; $header .= "MIME-Version: 1.0\n"; if (empty($files)) { $header .= "Content-Type: text/plain; charset=\"iso-2022-jp\"\n"; } else { $header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n"; } $header .= "Content-Transfer-Encoding: 7bit"; //メール送信 if (mail($to, $subject, $body, $header)) { echo 'メールが送信されました。'; } else { echo 'メールの送信に失敗しました。'; } ?> 以上、よろしくお願いします

    • ベストアンサー
    • PHP
  • エクセルVBAで OutlookExpressで自動的に送信・・・

    とあるエクセルのファイルにボタンを付けて自動的にOutlookExpressで送信したいのですが、 メールアドレスと件名・本文共に固定のもので、使用したいのです。 流れで言えば、 エクセルシートに作ったボタンを押す→自動的に保存される→ OutlookExpressが起動→メールアドレス・件名・本文が自動的に入力されている→ さっきボタンを押したエクセルファイルも添付されている→ メール送信 という感じです。 こういうものは、エクセルで作成可能でしょうか? また、出来るのであれば構文も載せていただけると幸いです。 宜しくお願い致します。

  • 件名なし、本文なしの同時配信メール

    ある日から、突然、件名なし(ブランク)、本文なし(ブランク)の同時配信メールが1日に10通程度届くようになりました。発信元はgmailやyahooメール、livedoorメールなど、無料アドレスが多いです。 毎回到着すると、アウトルックの「送信者を禁止する」で削除をしていますが、同じアドレスからは来ていないようで、日に日に増えて行く感です。 プロバイダーの迷惑メールのフィルターをどうやらくぐりぬけてくるようです。 1、これらが来ないようにする方法はありますか?制限する方法はありますか? 2、件名も本文も添付ファイルもないこのメールは意図は何でしょうか? よろしくお願いいたします。

  • PHPでメールを受信した際の本文について

    いつも、お世話になっております。 現在、携帯からメールを送り、その受信したメールをPHPで処理(分解)し、 HTML部分だけ取り出そうと考えていますが、うまくいきません。 分解にはフリープログラムの「http://hal456.net/qdmail/」の「qdmail.php」を使用させていただいています。 その中の「bodyAutoSelect」を指定した場合、テキスト部分の文章は引き出してこれます。 しかし、その他の関数を使うと空の状態で返ってきます。 HTML表記の状態で引き出したいのですが、どのようにしたらよろしいでしょうか?

    • ベストアンサー
    • PHP
  • PHPを利用してメール送信時したときのSubjectの文字化け

    PHPを利用し携帯電話を使って、件名(Subject)と本文を入力して送信した後、送信元のアドレスに入力した件名と本文を返信するプログラムを作成しています。 しかし、件名の返信内容が送信内容とは違う形で返ってきます。(本文はそのまま返ってきます) 例:件名「あ」、本文「か」と入力し送信   返信内容→件名「=?ISO-2022-JP?B?GyRCJCIbKEI=?=」        本文「か」 現在使用しているPHPのバージョンは 4.4.6 です。 「mb_convert_encoding」や「mb_encode_mimeheader」といった関数も使用しているのですがうまくいきません。 どのように記述すればよいでしょうか? 解答お待ちしています。

    • ベストアンサー
    • PHP
  • PHPのmimeDecode.php について

    Redhat Linux4 で、メールを受信した際、添付ファイルがあれば 特定のフォルダに添付ファイルを保存するPHPを作っています。 以下のメール受信時にPHPプログラムを起動すると、 添付ファイル付きメールなのに、 $structure->ctype_primary = 'multipart' となってくれず 途方にくれています。 どなたかご教授いただきたくよろしくお願いいたします。 require_once("Mail/mimeDecode.php"); $input = file_get_contents("php://stdin"); $params['include_bodies'] = true; $params['decode_bodies'] = true; $params['decode_headers'] = true; $decoder = new Mail_mimeDecode($input, "\r\n"); $structure = $decoder->decode($params); $GB['sMailBody']=$structure->ctype_primary; この結果、$GB['sMailBody']は、text となってしまいます。

    • 締切済み
    • PHP

専門家に質問してみよう