wake-up-neo.com

Erwarteter Antwortcode 220, aber Code "" mit Nachricht "" erhalten

Jedes Mal, wenn ich das Kontaktformular in meiner Anwendung Laravel absende, erhalte ich die Fehlermeldung im Titel. Ich habe die Empfehlung in diese Diskussion befolgt, aber sie hat auch nach php artisan cache:clear und php artisan config:cache keine Auswirkung. Hier ist der entsprechende Code:

.env 

MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl

config/mail.php

<?php

return [
    'driver' => env('MAIL_DRIVER', 'smtp'),
    'Host' => env('MAIL_Host', 'smtp.gmail.org'),
    'port' => env('MAIL_PORT', 587),
    'from' => [
        'address' => env('MAIL_FROM_ADDRESS', '[email protected]'),
        'name' => env('MAIL_FROM_NAME', 'Example'),
    ],
    'encryption' => env('MAIL_ENCRYPTION', 'tls'),    
    'username' => env('MAIL_USERNAME'),
    'password' => env('MAIL_PASSWORD'),
    'sendmail' => '/usr/sbin/sendmail -bs',
    'markdown' => [
        'theme' => 'default',

        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],

];

Ich hatte den Eindruck, dass die globale "Von" nicht schießen würde, wenn keine andere Adresse angegeben wurde, aber in meinem E-Mail-Controller habe ich die Adresse angegeben, die im Kontaktformular als "Von" angegeben ist das ein Konflikt irgendwie? Es scheint nicht aus den Details der Fehlermeldung zu stammen.

Da es sich bei dem Kontaktformular nicht um eine eigene Ansicht, sondern um die Unterseite der Hauptseite handelt, befindet sich die Controller-Funktion in PageController.

public function postContact(Request $request) {
    $this->validate($request, [

      'email' => 'required|email',
      'subject' => 'required|min:3',
      'message' => 'required|min:10'
    ]);

    $data = array(
      'email' => $request->email,
      'subject' => $request->subject,
      'mailbody' => $request->message
    );

    Mail::send('emails.contact', $data, function($message) use ($data) {
      $message->from($data['email']);
      $message->to('[email protected]');
      $message->subject($data['subject']);
    });
  }
8
user968270

Ich denke, Sie sollten den Mail-Absender (MAIL_FROM_ADDRESS) als Ihre Google Mail-Adresse definieren, mit der Sie E-Mails senden möchten.

wenn Ihr MAIL_USERNAME unter .env beispielsweise [email protected] ist, sollten Sie Ihren MAIL_FROM_ADDRESS (oder natürlich $mail->from()) als [email protected] definieren.

Ich glaube nicht, dass Sie mit gmail E-Mails als anderen Benutzer versenden können (eine andere Adresse).

4
Uğur Arıcı

Ähnliches Problem 587-Port

MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mypassword
1
Takamura

Ich habe den gleichen Fehler erhalten. Es funktioniert einwandfrei, als ich EMAIL_ENCRYPTION geändert habe. Es war 'encryption' => env('MAIL_ENCRYPTION', 'tps'),, bevor ich es in 'encryption' => env('MAIL_ENCRYPTION', ''), änderte.

0
Pyuri Sahu
MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=465
[email protected]
MAIL_PASSWORD=secreat
MAIL_ENCRYPTION=ssl

Aktualisieren Sie den obigen Code in Ihrer .env-Datei und führen Sie dann diese Befehle im Terminal aus 

  1. composer dump-autoload

  2. php artisan serve

0
sparsh turkane