1

登録ユーザーにパスワード回復メールを送信できるように、迅速なメーラーを自分の Web サイトに実装しようとしています。ドリームウィーバーを使用しています。私がやった事:

1) Downloaded Swift-4.2.2.tar
2) Extracted it
3) Uploaded to my host in /Domain/classes/lib
4) Included it in Recovery.php

ここに私のファイル構造があります

Main Folder
     |classes
          |Swift
     |Private
          |Recovery.php

のコードは次のRecovery.phpとおりです。

require_once '../classes/lib/swift_required.php';
// Create the Transport
$email_to = $_POST["email"];
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465)
  ->setUsername('Username')
  ->setPassword('Password')
  ;

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

// Create a message
$message = Swift_Message::newInstance()

  // Give the message a subject
  ->setSubject('Password Recovery')

  // Set the From address with an associative array
  ->setFrom(array('Username@domain.com' => 'Username'))

  // Set the To addresses with an associative array
  ->setTo($email_to)

  // Give it a body
  ->setBody('Below is your temporary password. Please make sure to login in immediately and change it to a password of your choice.\n'.$password);

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

しかし、これにはライブラリが含まれていません。Swift_SmtpTransport::そうすると、dreamweaver は、メソッドまたは変数のオプションを提供するインテリセンスのものをポップアップする必要があるためです。つまり、クラスとそのすべてのメンバー項目を表示できます。しかし、オプションがポップアップしないので、swiftクラスが何であるかがわからない気がします。そして、それを実行しようとしたとき、コンソールのネットワークタブは、500 Internal Server Error. そのため、ライブラリが適切に含まれていません。私が間違っていることは何か分かりますか?

編集:出力を報告するエラー:

Warning: require(/*/*/*/Main Folder/classes/lib/classes/Swift.php): failed to open stream: No such file or directory in /*/*/*/Main Folder/classes/lib/swift_required.php on line 22 
Fatal error: require(): Failed opening required '/*/*/*/Main Folder/classes/lib/classes/Swift.php' (include_path='.:/usr/local/lib/php') in /*/*/*/Main Folder/classes/lib/swift_required.php on line 22
4

3 に答える 3

2

swift_required.php ファイルを開きます。22 行目には require() があります。パスを lib/classes/Swift.php に一致するように調整します。

于 2012-10-26T17:50:54.630 に答える
0

たぶん、swift_required.php でパスを確認するときに役立ちます。呼び出されたファイルの時点から正しい必要があります。

于 2012-10-26T17:48:56.790 に答える
0

相対パスの代わりに絶対パスを使用してみてください

たとえばLinuxでは

require_once '/var/www/project/mailer/lib/swift_required.php' ;

または、上記の行を次のように置き換えてみてください

require_once '/path/to/mailer/lib/swift_init.php';

swift mailer は独自のクラスのオートローダーを使用していますが、他のオートローダーは既にお持ちですか?

于 2012-12-08T12:30:59.307 に答える