MailController.php 5.13 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Mail;

class MailController extends Controller
{
    /**
     * Load Startpage accordingly to the given URL-Parameter and Mobile
     *
     * @param  int  $id
     * @return Response
     */
Dominik Hebeler's avatar
Dominik Hebeler committed
17
18
    public function contactMail(Request $request)
    {
19
20

        # Nachricht, die wir an den Nutzer weiterleiten:
Dominik Hebeler's avatar
Dominik Hebeler committed
21
        $messageType   = ""; # [success|error]
22
        $returnMessage = '';
Dominik Hebeler's avatar
Dominik Hebeler committed
23
24
        $replyTo       = $request->input('email', 'noreply@metager.de');
        if ($replyTo === "") {
25
            $replyTo = "noreply@metager.de";
Dominik Hebeler's avatar
Dominik Hebeler committed
26
        } else {
27
28
29
            $replyTo = $request->input('email');
        }

Dominik Hebeler's avatar
Dominik Hebeler committed
30
31
        if (!$request->has('message')) {
            $messageType   = "error";
32
            $returnMessage = "Tut uns leid, aber leider haben wir mit Ihrer Kontaktanfrage keine Daten erhalten. Die Email wurde nicht versand";
Dominik Hebeler's avatar
Dominik Hebeler committed
33
        } else {
34
35
            # Wir versenden die Mail des Benutzers an uns:
            $message = $request->input('message');
36
            $subject = "[Ticket " . date("Y") . date("d") . date("m") . date("H") . date("i") . date("s") . "] MetaGer - Kontaktanfrage";
Dominik Hebeler's avatar
Dominik Hebeler committed
37
            if (Mail::send(['text' => 'kontakt.mail'], ['messageText' => $message], function ($message) use ($replyTo, $subject) {
38
39
40
                $message->to("office@suma-ev.de", $name = null);
                $message->from($replyTo, $name = null);
                $message->replyTo($replyTo, $name = null);
41
                $message->subject($subject);
Dominik Hebeler's avatar
Dominik Hebeler committed
42
            })) {
43
                # Mail erfolgreich gesendet
Dominik Hebeler's avatar
Dominik Hebeler committed
44
                $messageType   = "success";
45
                $returnMessage = 'Ihre Email wurde uns erfolgreich zugestellt. Vielen Dank dafür! Wir werden diese schnellstmöglich bearbeiten und uns dann ggf. wieder bei Ihnen melden.';
Dominik Hebeler's avatar
Dominik Hebeler committed
46
            } else {
47
                # Fehler beim senden der Email
Dominik Hebeler's avatar
Dominik Hebeler committed
48
                $messageType   = "error";
Dominik Hebeler's avatar
Dominik Hebeler committed
49
                $returnMessage = 'Beim Senden Ihrer Email ist ein Fehler aufgetreten. Bitte schicken Sie eine Email an: office@suma-ev.de, damit wir uns darum kümmern können.';
50
51
52
53
54
55
            }

            $messageType = "success";
        }

        return view('kontakt.kontakt')
Dominik Hebeler's avatar
Dominik Hebeler committed
56
57
58
59
            ->with('title', 'Kontakt')
            ->with('css', 'kontakt.css')
            ->with('js', ['openpgp.min.js', 'kontakt.js'])
            ->with($messageType, $returnMessage);
60
    }
Dominik Hebeler's avatar
Dominik Hebeler committed
61
62
63
64
65

    public function donation(Request $request)
    {
        # Der enthaltene String wird dem Benutzer nach der Spende ausgegeben
        $messageToUser = "";
Dominik Hebeler's avatar
Dominik Hebeler committed
66
        $messageType   = ""; # [success|error]
Dominik Hebeler's avatar
Dominik Hebeler committed
67
68
69
70
71
72
73
74

        # Folgende Felder werden vom Spendenformular als Input übergeben:
        # Name
        # Telefon
        # email
        # Kontonummer ( IBAN )
        # Bankleitzahl ( BIC )
        # Nachricht
Dominik Hebeler's avatar
Dominik Hebeler committed
75
        if (!$request->has('Kontonummer') || !$request->has('Bankleitzahl') || !$request->has('Nachricht')) {
Dominik Hebeler's avatar
Dominik Hebeler committed
76
            $messageToUser = "Sie haben eins der folgenden Felder nicht ausgefüllt: IBAN, BIC, Nachricht. Bitte korrigieren Sie Ihre Eingabe und versuchen es erneut.\n";
Dominik Hebeler's avatar
Dominik Hebeler committed
77
78
            $messageType   = "error";
        } else {
79
80
81
82
83
            $message = "\r\nName: " . $request->input('Name', 'Keine Angabe');
            $message .= "\r\nTelefon: " . $request->input('Telefon', 'Keine Angabe');
            $message .= "\r\nKontonummer: " . $request->input('Kontonummer');
            $message .= "\r\nBankleitzahl: " . $request->input('Bankleitzahl');
            $message .= "\r\nNachricht: " . $request->input('Nachricht');
Dominik Hebeler's avatar
Dominik Hebeler committed
84
85
86
87
88
89

            $replyTo = $request->input('email', 'anonymous-user@metager.de');
            if (!filter_var($replyTo, FILTER_VALIDATE_EMAIL)) {
                $messageToUser .= "Die eingegebene Email-Addresse ($replyTo) scheint nicht korrekt zu sein.";
            }

Dominik Hebeler's avatar
Dominik Hebeler committed
90
91
            try {
                if (Mail::send(['text' => 'kontakt.mail'], ['messageText' => $message], function ($message) use ($replyTo) {
Dominik Hebeler's avatar
Dominik Hebeler committed
92
93
94
95
96
                    $message->to("office@suma-ev.de", $name = null);
                    $message->from($replyTo, $name = null);
                    $message->replyTo($replyTo, $name = null);
                    $message->subject("MetaGer - Spende");
                })) {
Dominik Hebeler's avatar
Dominik Hebeler committed
97
98
99
100
                    $messageType   = "success";
                    $messageToUser = "Herzlichen Dank!! Wir haben Ihre Spendenbenachrichtigung erhalten.";
                } else {
                    $messageType   = "error";
Dominik Hebeler's avatar
Dominik Hebeler committed
101
102
                    $messageToUser = 'Beim Senden Ihrer Spendenbenachrichtigung ist ein Fehler auf unserer Seite aufgetreten. Bitte schicken Sie eine Email an: office@suma-ev.de, damit wir uns darum kümmern können.';
                }
Dominik Hebeler's avatar
Dominik Hebeler committed
103
104
            } catch (\Swift_TransportException $e) {
                $messageType   = "error";
Dominik Hebeler's avatar
Dominik Hebeler committed
105
106
107
108
                $messageToUser = 'Beim Senden Ihrer Spendenbenachrichtigung ist ein Fehler auf unserer Seite aufgetreten. Bitte schicken Sie eine Email an: office@suma-ev.de, damit wir uns darum kümmern können.';
            }
        }

Dominik Hebeler's avatar
Dominik Hebeler committed
109
        return view('spende.spende')
Dominik Hebeler's avatar
Dominik Hebeler committed
110
111
112
            ->with('title', 'Kontakt')
            ->with('css', 'donation.css')
            ->with($messageType, $messageToUser);
Dominik Hebeler's avatar
Dominik Hebeler committed
113
    }
Dominik Hebeler's avatar
Dominik Hebeler committed
114
}