0

まず、私はPHPの初心者です。

私はこの単純なphpを持っていますが、現時点では、情報を送信すると恐ろしい「OK」メッセージが表示されます。

このphpを改善するのを手伝ってくれませんか: -より良いコード(大丈夫ですか?もっと良いですか?)送信されました。

もう1つのことは、これがうまくいっているかどうかわからないということです。xampp をインストールしましたが、ローカルでは動作しません。また、サーバーにアップロードされたすべてのファイルでフォームを完成させようとしましたが、まだメールを待っています....メールが受信トレイに届くという奇跡?=S 多分私は何か間違ったことをしましたか?

<?php
if(isset($_POST["nombre"]) && isset($_POST["email"]) && isset($_POST["consulta"])){
$mymail = "myemail@gmail.com";
$subject = "Consulta";
$contenido = ":: Nombre: ". $_POST["nombre"]."\n";
$contenido .= ":: E-mail: ". $_POST["email"]."\n";
$contenido .= ":: Escribiò el siguiente mensaje: ". $_POST["consulta"]."\n";

$header = "From:".$_POST["email"]."\n"; 

mail($mymail, $subject, utf8_decode($contenido));*/
echo "&estatus=ok&";
}?>

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

4

3 に答える 3

0

メッセージを変更したい場合は、echo ステートメントのテキストを変更する必要があります。のようにecho "Some fancy html in here";。メールが受信されないという 2 番目の問題は、おそらく php がデフォルトでメールを送信するためにローカル smtp サーバーに依存しているという事実によるものです。変数を送信してスパム フォルダに移動するか、まったく送信しない可能性があります。gmail などのサードパーティの smtp サーバーをテスト目的でのみ使用する場合は、次のようなライブラリを使用するのが最も簡単な方法です。

http://swiftmailer.org/docs/sending.html

サードパーティの SMTP 詳細を定義します。

サンプルコード:

 require_once 'lib/swift_required.php';

// Create the Transport
$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)
  ->setUsername('your username')
  ->setPassword('your password')
  ;

/*
You could alternatively use a different transport such as Sendmail or Mail:

// Sendmail
$transport = Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs');

// Mail
$transport = Swift_MailTransport::newInstance();
*/

// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

// Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('john@doe.com' => 'John Doe'))
  ->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))
  ->setBody('Here is the message itself')
  ;

// Send the message
$result = $mailer->send($message);

はかなり簡単だと思います。また、次を追加することもできます。

if($result){ echo "Message has been sent"; }else{ echo "Error!"; }

最後に。それはトリックを行う必要があります...

ところで、gmail の設定は次のとおりです。

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl');

それに応じて、ユーザー名とパスワードにGmailのメールとパスワードを使用します...

于 2013-02-04T03:42:48.040 に答える
0

PHP とメール機能を理解するという点では、このリンクは非常に優れたリソースです (一般的な PHP/Web コーディングのサイトと同様)。
ユーザーへのメッセージは、echo "&status と書かれている最後の行にあります。 =ok&"; Echoは、ページにテキストを出力する関数です。html を知っている場合は、任意の html を出力できます。

echo "<b>This success message is in BOLD</b>";

ただし、他の特殊文字と一緒に引用符をエスケープする必要があるため、引用符には注意する必要があります。

echo "This \"code\" will\nprint like \\\"this\\\"";

のようになります

This "code" will
print like \"this\"

とにかく、それは接線で進んでいます。xamppに関しては、smtp設定を構成する必要があります。この投稿をチェックしてください。

あなたの質問が答えられたら教えてください:)

于 2013-02-04T03:44:57.223 に答える
0

これは大きな問題です。

まず、ローカルでテストし、単純なメール クライアントを使用して、メール トランスポート エージェントがメールをローカル アカウントに送信することを確認します。いいえ

次に、リモートのメール アカウント (gmail) にメールが送信されるようにします。

次に、ローカルに送信して PHP を動作させます。

最後に、php からのリモート メール投稿を試します。

スパムを避けるために、スクリプトは入力フォームからの入力パラメーターの検証が必要です。たとえば、www.w3schools.comを読んでください。

サンプル コードについては、Drupal や Wordpress などの成熟したコードをダウンロードして見て、どのように動作するかを確認してください。電子メールの送信は最終的にトランスポート エージェントとリモート エンド (SSL、TLS) に依存するため、リレー用のメールの受信を許可するためにキー認証が必要になる場合があります。

また、Stack Exchange には多くの参照と例があります。自分で少し研究する必要があります。

于 2013-02-04T03:52:45.007 に答える