MailController.php 5.06 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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
     */
    public function contactMail(Request $request){

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

        if(!$request->has('message')){
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
            $messageType = "error";
            $returnMessage = "Tut uns leid, aber leider haben wir mit Ihrer Kontaktanfrage keine Daten erhalten. Die Email wurde nicht versand";
        }else{
            # Wir versenden die Mail des Benutzers an uns:
            $message = $request->input('message');

            if( Mail::send(['text' => 'kontakt.mail'], ['messageText'=>$message], function($message) use($replyTo){
                $message->to("office@suma-ev.de", $name = null);
                $message->from($replyTo, $name = null);
                $message->replyTo($replyTo, $name = null);
                $message->subject("MetaGer - Kontaktanfrage");
            }) ){
                # Mail erfolgreich gesendet
                $messageType = "success";
                $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.';
            }else{
                # Fehler beim senden der Email
                $messageType = "error";
Dominik Hebeler's avatar
Dominik Hebeler committed
48
                $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.';
49
50
51
52
53
54
55
56
57
58
59
60
            }

            $messageType = "success";
        }

    
        return view('kontakt.kontakt')
                ->with('title', 'Kontakt')
                ->with('css', 'kontakt.css')
                ->with('js', ['openpgp.min.js','kontakt.js'])
                ->with( $messageType, $returnMessage );
    }
Dominik Hebeler's avatar
Dominik Hebeler committed
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114

    public function donation(Request $request)
    {
        # Der enthaltene String wird dem Benutzer nach der Spende ausgegeben
        $messageToUser = "";
        $messageType = ""; # [success|error]

        # Folgende Felder werden vom Spendenformular als Input übergeben:
        # Name
        # Telefon
        # email
        # Kontonummer ( IBAN )
        # Bankleitzahl ( BIC )
        # Nachricht
        if(!$request->has('Kontonummer') || !$request->has('Bankleitzahl') || !$request->has('Nachricht')){
            $messageToUser = "Sie haben eins der folgenden Felder nicht ausgefüllt: IBAN, BIC, Nachricht. Bitte korrigieren Sie Ihre Eingabe und versuchen es erneut.\n";
            $messageType = "error";
        }else{
            $message = "\r\n Name:" . $request->input('Name', 'Keine Angabe');
            $message .= "\r\n Telefon:" . $request->input('Telefon', 'Keine Angabe');
            $message .= "\r\n Kontonummer:" . $request->input('Kontonummer');
            $message .= "\r\n Bankleitzahl:" . $request->input('Bankleitzahl');
            $message .= "\r\n Nachricht:" . $request->input('Nachricht');

            $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.";
            }

            try{
                if(Mail::send(['text' => 'kontakt.mail'], ['messageText'=>$message], function($message) use($replyTo){
                    $message->to("office@suma-ev.de", $name = null);
                    $message->from($replyTo, $name = null);
                    $message->replyTo($replyTo, $name = null);
                    $message->subject("MetaGer - Spende");
                })) {
                    $messageType = "success";
                    $messageToUser = "Wir haben Ihre Spendenbenachrichtigung dankend erhalten. Eine persönliche Nachricht erhalten Sie in nächster Zeit, falls sie Ihre Kontaktdaten angegeben haben.";
                }else{
                    $messageType = "error";
                    $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.';
                }
            } catch( \Swift_TransportException $e ){
                $messageType = "error";
                $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.';
            }
        }


        return view('spende')
                ->with('title', 'Kontakt')
                ->with('css', 'donation.css')
                ->with($messageType,$messageToUser);
    }
115
}