A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
サーバーの環境が違うのと、不要な部分と一緒に必要な箇所をそぎ落としてしまった可能性もあり、参考になるかどうかもわかりませんが、私はこんな感じで送信出来ました。
htmlとPHPの日本語コードが違うと送信したメールが文字化けしたので、注意して下さい。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<script language="JavaScript" type="text/JavaScript">
<!--
/* メールチェック */
function MailCheck() {
var str = document.msg.mail.value;
if(! str.match(/^[-\.\w]+\@[-\.\w]+\.[-\.\w]+$/) ) {
alert("メールアドレスが正しく入力されていません。");
return 1;
}
return 0;
}
/* 入力クリア確認 */
function init() {
if (confirm("入力された内容を全てクリアしてもよろしいですか?")) document.con.reset(); else return false;
}
//-->
</script>
</head>
<body>
<form name="con" action="send.php" method="POST">
Mail<input name="mail" onblur="MailCheck();">
内容<textarea name="msg" rows="5" cols="50">
<input type="submit" value="確認" onclick="return MailCheck();">
<input type="reset" value="リセット" onclick="return init();">
</form>
</body>
</html>
<?php
//送信先メールアドレス
$to = "XXX@XXXXX.XXX";
//データファイル
$LogFile = "data.cgi";
//再送信制限時間
$limittime = 30;
$mail = trim($_POST['mail']);
$msg = trim($_POST['msg']);
//同一クライアントからの連続送信チェック
$time = time();
$addr = $_SERVER['REMOTE_ADDR'];
$fp = fopen($LogFile,'r');
while(!feof($fp)){
$line = fgets($fp);
$items = explode("\t", $line);
if($time - $items[0] < $limittime) $data[$items[1]] = $line;
}
fclose($fp);
$err = "";
//メール形式のみ一応チェック
if (ereg('^[a-zA-Z0-9_\.\-]+@[A-Za-z0-9_\-]+\.[A-Za-z0-9_\.\-]+$', $mail)) {
} else {
$err = "メールアドレスが正しく入力されていません。\n";
}
if ($data[$addr] == "" and $err == "") {
$headers = "From: " . $to . "\r\n" .
"Reply-To: " . $to . "\r\n" .
"Return-Path: " . $to . "\r\n" .
"X-Mailer: PHP/" . phpversion() .
"MIME-Version: 1.0\r\n" .
"Content-type: text/plain; charset=ISO-2022-JP\r\n" .
"Content-Transfer-Encoding: 7bit";
//メール作成
$subject = mk_subject("subject");
$message = mk_message($msg);
mb_send_mail($mail, $subject, $message, $headers);
}
//アクセス履歴格納
$line = "$time\t$addr\t\n";
$data[$addr] = $line;
$fp = fopen($LogFile, 'w');
foreach($data as $line) fputs($fp, $line);
fclose($fp);
function mk_subject($subject){
$subject = mb_convert_encoding($subject,"JIS","EUC-JP");
$subject = base64_encode($subject);
$subject = "=?iso-2022-jp?B?" . $subject . "?=";
return $subject;
}
function mk_message($message){
// 1 行が 70 文字を超える場合は行を分割
$message = wordwrap($message, 70);
$message = mb_convert_encoding($message,"JIS","EUC-JP");
return $message;
}
?>
なので、認証用のアカウント、及び、パスワードは、私の環境では必要ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- その他(メールソフト・メールサービス) Windows10付属のメール、なぜ設定が劇的に簡単になったのか? 1 2022/12/16 13:14
- Gmail gmailで独自ドメインアドレスのメールが届かない件 1 2023/08/25 23:24
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
- PHP メールフォームのタイトルが文字化け 2 2023/06/17 12:00
- Gmail 10年以上使ってるGoogleアカウント (gmail、YouTube)に、久しぶりにパソコンからロ 3 2022/07/03 03:43
- ソフトウェア パソコンの買い替え時、マイクロソフトでアカウントの変更(?)は? 2 2022/05/13 02:59
- Google+ ブランド品偽物サイトからのメールを拒否する方法 批判覚悟で投稿します。 とあるサイトからブランド品を 2 2023/01/11 21:49
- Outlook(アウトルック) Outlookでメールを設定したら、設定済み?? 2 2022/09/24 13:25
- その他(スマートフォン・携帯電話・VR) iPhone SE を使ています、ボイスメモのPC保存方法を教えてください 2 2022/11/12 09:08
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 添付ファイルをつけてメー...
-
【初歩?】変数をセットできな...
-
phpでのメール送信
-
mail関数を使った場合のReturn-...
-
複数行の文字列をメールのヘッ...
-
PHPをつかったメール送信時の文...
-
PHPで、複数のアドレスにメール...
-
さくらサーバーにて、phpからメ...
-
PHPのif文でその処理を途中で抜...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
別ファイルの変数を呼び出した...
-
form actionで二つ送信先を指定...
-
PHPMailerで大きなファイルが送...
-
fopenでファイルが開かない場合...
-
CFileDialogの最初のディレクト...
-
HYのAM11:00のラップの部分の歌...
-
URLが.PHPってどういう...
-
FTPコマンドでディレクトリごと...
-
TCPDFについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
php 完了画面の送信メールのコ...
-
さくらサーバーにて、phpからメ...
-
メールフォームのタイトルが文...
-
PHPsendmailにて送信元を変更
-
mb_send_mail関数が利用出来ない
-
PHPからロリポップ!のメールサ...
-
VBA 添付ファイルをつけてメー...
-
mailやmb_send_mail関数で、本...
-
sendmailでエラーがでます
-
PHPでの仮登録時の会員認証メー...
-
phpでメール送信できません 原...
-
mb_send_mail() 第 4、5 引数の...
-
PHPMailerのコードエラーが解決...
-
PHPからメールを送る@さくらイ...
-
ローカル環境でのメール送信
-
PHPでメールを送信するには
-
mb_send_mailについて
-
メールの本文をSmartyにしたい
-
mail関数を使った場合のReturn-...
-
PEAR の Mail/Queue.php で文...
おすすめ情報