Kontaktformular

Hallo, ich schaffe es einfach nicht, dass beim Kontaktformular Emails versendet werden.
Bekomme hier folgende Fehlermeldung beim absenden.
Kann mir hier bitte jemand helfen. Danke

An exception was thrown while Neos tried to render your page

Address in mailbox given [smtp.world4you.com] does not comply with RFC 2822, 3.6.2.

root<Neos.Fusion:Case>/ documentType<Neos.Fusion:Matcher>/ element<Neos.Demo:Document.LandingPage>/ mainContent<Neos.Demo:Document.Fragment.Content.Main>/ renderer<Neos.Neos:PrimaryContent>/ default<Neos.Fusion:Matcher>/ renderer<Neos.Neos:ContentCollection>/ content<Neos.Neos:ContentCollectionRenderer>/ itemRenderer<Neos.Neos:ContentCase>/ default<Neos.Fusion:Matcher>/ element<Neos.NodeTypes.Form:Form><Neos.NodeTypes.Form:Form>/

Die email Adresse fehlt oder ist nicht valide. Die muss in der yaml Datei des Formulars konfiguriert werden.

Welche Version von Neos nutzt Du denn? Ich vermute mal Neos < 7.1 und ist das Formular das aus Neos.Demo?

Ab Neos 7.1 ist ein etwas anderes Kontaktformular in Neos.Demo eingebaut ist das die EMail Adresse direkt im Inspektor pflegen lässt. Es könnte sich lohnen das mal anzusehen der Ansatz würde auch in älteren Neos Versionen funktionieren.

ja ich verwende Neos 7.01
Das Formular ist aus Neos.Demo

Neos.Demo/Configuration/Settings.yaml

Form:
yamlPersistenceManager:
savePath: ‘resource://Neos.Demo/Private/Form/’

Neos.Demo/Recources/Private/Form/contact-form.yaml

type: 'Neos.Form:Form'
identifier: contact-form
label: 'Contact form'
renderingOptions:
submitButtonLabel: 'Send'
renderables:
  • type: 'Neos.Form:Page'
    identifier: page-one
    label: 'Kontaktformular'
    renderables:
    
    • type: ‘Neos.Form:SingleLineText’
      identifier: name
      label: ‘Name’
      validators:
      • identifier: ‘Neos.Flow:NotEmpty’
        properties:
        placeholder: ‘Name’
        defaultValue: ‘’
    • type: ‘Neos.Form:SingleLineText’
      identifier: email
      label: ‘Email’
      validators:
      • identifier: ‘Neos.Flow:NotEmpty’
      • identifier: ‘Neos.Flow:EmailAddress’
        properties:
        placeholder: ‘Email’
        defaultValue: ‘’
    • type: ‘Neos.Form:MultiLineText’
      identifier: message
      label: ‘Ihre Nachricht’
      validators:
      • identifier: ‘Neos.Flow:NotEmpty’
        properties:
        placeholder: ‘Nachricht’
        defaultValue: ‘’
        finishers:

    Uncomment the following lines and install the neos/swiftmailer package to send mails

    -

    identifier: ‘Neos.Form:Email’
    options:
    templatePathAndFilename: resource://Neos.Demo/Private/Templates/ContactForm/Email.txt
    subject: ‘Kontakt von home’
    recipientAddress: office@xyz.at
    recipientName: ‘home’
    senderAddress: smtp.world4you.com
    senderName: ‘Website’
    replyToAddress: office@xyz.at
    format: plaintext
  • identifier: ‘Neos.Form:Confirmation’
    options:
    message: >

    Vielen Dank für Ihre Nachricht!


    Ihre Email wurde versandt. Wir werden uns in Kürze bei Ihnen melden.

wenn ich bei den

Application/Neos.SwiftMailer/Configuration/Settings.yaml

den SMTP Transport aktiviere lädt die ganze Seite nicht mehr.

SwiftMailer:
transport:
type: ‘Swift_SmtpTransport’
options:
host: ‘smtp.world4you.com
port: 587
encryption: ‘tls’
username: ‘office@xyz.at’
password: ‘xxxxxxxxx’
#localDomain: ‘neos.xyz’

Oben steht als senderAddress dasselbe was du als smtp Host angegeben hast. Das kann nicht sein. SenderAddress muss eine EMail Adresse sein.

danke für die tolle Unterstützung aber es funktioniert trotzdem nicht, bekomme noch immer folgende Fehlermeldung beim absenden des Formulars

An exception was thrown while Neos tried to render your page

Expected response code 220 but got an empty response

root<Neos.Fusion:Case>/ documentType<Neos.Fusion:Matcher>/ element<Neos.Demo:Document.LandingPage>/ mainContent<Neos.Demo:Document.Fragment.Content.Main>/ renderer<Neos.Neos:PrimaryContent>/ default<Neos.Fusion:Matcher>/ renderer<Neos.Neos:ContentCollection>/ content<Neos.Neos:ContentCollectionRenderer>/ itemRenderer<Neos.Neos:ContentCase>/ default<Neos.Fusion:Matcher>/ element<Neos.NodeTypes.Form:Form><Neos.NodeTypes.Form:Form>/

The message sounded like the smtp was not successful. You can do the following things:

  1. Enable the test mode of the email finisher. That will show you a debug message instead of actually sending the mail. If that works the smtp settings do not work.

  2. If you have a local copy try sendmail or any setup that allows you to use mailhog to check what is sent.

Often it helps to figure out how to send a mail from the commandline on your server and then configure the settings of the finisher like this. That way you can check the mail sending and form finishing separately.

Ich habe jetzt das Formular so eingebunden wie im
Neos CMS Documentation, Release 4.2.x-dev
beschrieben.

Diese Dateien habe ich angepasst:
Yaml (Sites/Vendor.Site/Configuration/Settings.yaml)
Yaml (Sites/Vendor.Site/Resources/Private/Form/contact-form.yaml)
Html (Sites/Vendor.Site/Resources/Private/Templates/Email/Message.txt)

Vendor.Site habe ich mit Neos.Demo ersetzt.

Beim versenden bekomme ich nun diese Meldung obwohl die Datei Message.txt am Server liegt.

The fluid file “resource://Neos.Demo/Private/Templates/Email/Message.txt” was not found.

rootNeos.Fusion:Case/
documentTypeNeos.Fusion:Matcher/
elementNeos.Demo:Document.LandingPage/
mainContentNeos.Demo:Document.Fragment.Content.Main/
rendererNeos.Neos:PrimaryContent/
defaultNeos.Fusion:Matcher/
rendererNeos.Neos:ContentCollection/
contentNeos.Neos:ContentCollectionRenderer/
itemRendererNeos.Neos:ContentCase/
defaultNeos.Fusion:Matcher/
elementNeos.NodeTypes.Form:FormNeos.NodeTypes.Form:Form/

As the message says Neos is looking for:

Neos.Demo/Private/Templates/Email/Message.txt

but according to your message the template is in:

Vendor.Site/Private/Templates/Email/Message.txt

I think you are a bit confused between the two packages. It is also possible that the configuration for the template file has no package key and Neos assumes the package it considers to be the current one.