web-dev-qa-db-ja.com

SwiftMailer-fsockopen()エラー500

SmtpとSwift_Mailerを使用してphpでメールを送信しています

コード:

 error_log("Sending Email\n");
    // Get mailer
    $SM = Yii::app()->swiftMailer;

    // Get config
    $mailHost = 'smtp.gmail.com';
    $mailPort = 465; 
    $security = 'ssl';
    // New transport
    $Transport = $SM->smtpTransport($mailHost, $mailPort, $security)
        ->setUsername('[email protected]')
        ->setPassword('password');

    // Mailer
    $Mailer = $SM->mailer($Transport);

    // New message
    $Message = $SM
        ->newMessage($subject)
        ->setFrom('[email protected]')
        ->setTo($to)
        ->setBody($body);

    // Send mail
    $result = $Mailer->send($Message);

エラー

fsockopen()[function.fsockopen]:> ssl://smtp.gmail.com:465に接続できません(接続は拒否されました)

また

注:ホスティングサーバーアカウントにSSL証明書は添付されていません。ご注意ください:ローカルコンピューターでエラーが発生していません。

質問

  • ホスティングアカウントでSSL証明書が必要ですか? (確認する必要があります)
  • そうでない場合、これで私が間違っているのは何ですか?
2
Omer JR

セキュリティで保護された電子メールを送信するためにSSL証明書は必要ありません。デスクトップコンピューター、タブレット、および携帯電話でも必要ありません。

これは、サーバーにOpenSSLがインストールされていないか、スクリプトに障害があるために発生している可能性があります。 OpenSSLがインストールされているかどうかを確認するには、openssl versionを実行します。 OpenSSLをインストールする必要がある場合は、次を実行します。

  • Sudo apt-get install openssl
  • Sudo apt-get install libssl-dev

共有ホスティングまたはコアシステムアプリケーションのインストールを許可しない別のホスティング環境を使用した場合は、Webホストに連絡する必要があります。スクリプトに問題がある場合、Pro Webmastersはこの質問のアイデアスタックではなく、プログラミングに関連するため、Stack Overflowで質問する必要があります。

2
Simon Hayter