PhP4.2 mysql4 に関して

ロリポップを使います。

下記の基本的なことを教えていただけますでしょうか?リンクだけではなくて少し解りやすく解説していただけると助かります。

①mb_send_mail関数を使いたいです。
SMTPを使うと説明がありました。
1)SMTPとは何でしょうか?
2)mb_send_mailを使う際に陥りやすいミス、使う条件をお願いします。

②サイトにフォームをつくります。
そのフォームに入力があって送信された際に。
私の携帯アドレス(test@ドコモ)にメールが届くような仕組みにしたいです。
どのようなサイト構築になりますか?
上記とかぶるかもしれませんが、sm_send_mailを使ったスクリプトを教えてください。

メールを送信する仕組みを教えていただけますでしょうか?なるべく詳しいと助かります。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/08/22 15:56:57
  • 終了:2007/08/29 16:00:04

回答(3件)

id:Yota No.1

Yota回答回数453ベストアンサー獲得回数282007/08/22 18:54:02

ポイント10pt

http://www.php.net/manual/ja/ref.mail.php

php.iniにメール送信方法を設定する。

1.サーバOSがWindowsなら、

SMTP = SMTPサーバ(メールを送信するサーバ。管理者が許可しなければ使えない。)のホスト名、またはIPアドレス。

smtp_port = 25(普通はこのまま)

sendmail_from = 自分のメールアドレス

2.Unixなら、

sendmail_path = sendmailプログラムのパス

例:/usr/sbin/sendmail -t -i

sendmailに関するサービスを起動しておく(例えばsm-client,sendmail)

フォーム

http://www.sapphirus.biz/php/sformmail/

からダウンロードしてください。

sformmail.phpを書き換える。

$mailTo='test@ドコモ';

関数i18n_convertをmb_convert_encodingに全部置換する。

id:toshiakio No.3

toshiakio回答回数2ベストアンサー獲得回数02007/08/22 16:44:18

ポイント10pt

①mb_send_mail

1)SMTPとは何?

SMTP は【Simple Mail Transfer Protocol】の略となっていまして、メールを送信する際に使用するプロトコルです。もともとはサーバ間でメールのやりとりをするために使用されるプロトコルだったのですが、ユーザーがメーラー(メールクライアント)を使ってメールサーバ(正確

にはSMTP サーバ)にメールを送信する際にも使用されるため、一般にも広く知られる名前となっています。

(2) mb_send_mailを使う際に陥りやすいミス、使う条件

サーバからSMTPをつかって送信することが可能であることが条件です。

言語設定・エンコーディング設定を正しく行わないと文字化けします。

ヘッダに日本語を使う場合には、MIMEエンコードが必要です。

②サイトにフォーム

メールフォームとその送信スクリプトになるかと

おもいます。

sm_send_mailというのは、おそらくmb_send_mailのことだと

おもわれますので、

mb_send_mail()をつかった簡単なスクリプトを下にしめします。

動作確認はしていないので、参考程度におねがいします。

クロスサイトスクリプティングへの対処もしていません。

ロリポップであれば無料でCGIが提供されていますので、

そちらをご利用になることをおすすめします。

$error = "";

mb_language("Ja") ;

$mailto="test@docomo.ne.jp";

mb_internal_encoding("EUC") ;

if ($_SERVER["REQUEST_METHOD"]=="POST"){

$mailfrom = $_POST['mailfrom'];

$mailfromname = $_POST['mailfromname'];

$subject = $_POST['subject'];

$content = $_POST['content'];

if (isset($_POST['submit'])){

$error="";

$mailto = mb_convert_kana($mailto,"a","EUC");

$mailfrom= mb_convert_kana($mailfrom,"a","EUC");

if (trim($mailfromname)==""){$mailfromname=$mailfrom;}

$content .="\n\n";

$header="From:" .mb_encode_mimeheader($mailfromname) ."<" .$mailfrom .">";

if ($error==""){

$boRtn=mb_send_mail($mailto,$subject,$content,$header);

if ($boRtn){

$error="送信完了";

$mailto="";

$mailfrom="";

$mailfromname="";

$subject="";

$content="";

}else{

$error="送信失敗";

}

}

}

}

?>

<HTML>

<HEAD>

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=euc-jp">

<META HTTP-EQUIV="Cache-control" CONTENT="no-cache">

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

<TITLE>MAIL FORM</TITLE>

</HEAD>

<BODY BGCOLOR="#ffffff" style="margin:0px" marginwidth="0" marginheight="0">

if ($error!=""){echo $error;}

?>




<FORM ACTION="<?php echo $_SERVER['SCRIPT_NAME']; ?>" METHOD="POST">

>from name

<INPUT TYPE="text" NAME="mailfromname" VALUE="<? if (isset($mailfromname)){echo $mailfromname;} ?>" SIZE="30">


>from address

<INPUT TYPE="text" NAME="mailfrom" VALUE="<? if (isset($mailfrom)){echo $mailfrom;} ?>" SIZE="50">


subject

<INPUT TYPE="text" NAME="subject" VALUE="<? if (isset($subject)){echo $subject;} ?>" SIZE="40">


text

<TEXTAREA COLS="40" ROWS="5" NAME="content" WRAP="soft"><? if (isset($content)){echo $content;} ?></TEXTAREA>


<INPUT TYPE="submit" NAME="submit" VALUE="send mail">

</FORM>


</BODY>

</HTML>

ちょっと、

http://www.google.com/

で検索してみましたが、サンプルはたくさんみつかりました

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません