feat: Kontaktformular sendet serverseitig per SMTP statt mailto
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -351,21 +351,36 @@ function mdToHtml(md) {
|
||||
}
|
||||
});
|
||||
|
||||
// Form submit -> mailto fallback (no backend yet)
|
||||
// Form submit -> server-side SMTP
|
||||
window.submitContact = function (e) {
|
||||
e.preventDefault();
|
||||
var name = document.getElementById('cf-name').value;
|
||||
var org = document.getElementById('cf-org').value;
|
||||
var email = document.getElementById('cf-email').value;
|
||||
var msg = document.getElementById('cf-message').value;
|
||||
var btn = e.target.querySelector('button[type="submit"]');
|
||||
if (btn) { btn.disabled = true; btn.textContent = 'Wird gesendet...'; }
|
||||
|
||||
var subject = 'Anfrage von ' + name + (org ? ' (' + org + ')' : '');
|
||||
var body = 'Name: ' + name + '\nOrganisation: ' + (org || '-') + '\nE-Mail: ' + email + '\n\nNachricht:\n' + msg;
|
||||
|
||||
window.location.href = 'mailto:info@aegis-sight.de?subject=' + encodeURIComponent(subject) + '&body=' + encodeURIComponent(body);
|
||||
|
||||
document.getElementById('contact-form').style.display = 'none';
|
||||
document.getElementById('form-success').style.display = 'block';
|
||||
fetch('/api/contact', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
name: document.getElementById('cf-name').value,
|
||||
organisation: document.getElementById('cf-org').value,
|
||||
email: document.getElementById('cf-email').value,
|
||||
message: document.getElementById('cf-message').value
|
||||
})
|
||||
})
|
||||
.then(function (r) { return r.json().then(function (d) { return { ok: r.ok, data: d }; }); })
|
||||
.then(function (res) {
|
||||
if (res.ok) {
|
||||
document.getElementById('contact-form').style.display = 'none';
|
||||
document.getElementById('form-success').style.display = 'block';
|
||||
} else {
|
||||
alert(res.data.error || 'Fehler beim Senden');
|
||||
if (btn) { btn.disabled = false; btn.textContent = 'Nachricht senden'; }
|
||||
}
|
||||
})
|
||||
.catch(function () {
|
||||
alert('Verbindungsfehler. Bitte versuchen Sie es erneut.');
|
||||
if (btn) { btn.disabled = false; btn.textContent = 'Nachricht senden'; }
|
||||
});
|
||||
return false;
|
||||
};
|
||||
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren