Is there a way to update the email address of an existing contact via Mautic form?

Your software
My Mautic version is: 2.15.1
My PHP version is: 7.1.28

Your problem
My problem is: The email address of an existing contact cannot be updated via Mautic form. I have used the following steps to produce the problem, which creates a new Mautic contact, instead of updating the email address of the existing contact.

  1. Make sure that ‘Show contact preference settings’ is set to Yes in Mautic Configuration.
  2. Create a contact in Mautic, and add it to a segment.
  3. Create a standalone Mautic form with an email address form field. Make sure that Save Result of the email-address form field is set to yes, and ‘Auto fill data’ is set to yes.
  4. Create a preference center landing page, with preference center elements ({segmentlist}, {saveprefsbutton}, {successmessage}), and the Mautic form ({form=ID}).
  5. Create a segment Mautic email with the above landing page as its preference center.
  6. Send the Mautic email.
  7. Open the received email (in a separate web browser without Mautic login), click Unsubscribe at the bottom of the email, and submit a new email address in the form that show up on the newly opened web page with the current email address pre-filled.
  8. Check the contact page in Mautic.

These errors are showing in the log: No error in the Mautic log.

Steps I have tried to fix the problem: None. I’ve read the following relevant references, but they do not contain any helpful information.
https://forum.mautic.org/t/can-mautic-forms-update-existing-contacts/10797
https://forum.mautic.org/t/update-adjust-existing-contact-form/9752

Any luck on this? I’m dealing with a similar issue.

I’ve concluded that there is no way to update the email address of an existing contact in Mautic. Unless I’m mistaken, there doesn’t seem to be a way to do it. The official Mautic manual doesn’t mention anything about it; I haven’t found anything in the Mautic form options that is for updating the email address of an existing contact in Mautic.

It might be possible to update the email address of an existing contact in Mautic, using a form and a campaign, if the value of a form field can be retrieved and used in the email field of the ‘Update contact’ Mautic campaign action. After much search, I was not able to find a Mautic token for form fields that can be used in a campaign. The official Mautic user manual mentions nothing about retrieving and using the form field value in a Mautic campaign action.

At this point, I think it’s very reasonable to conclude that the only way to enable updating the email address of an existing contact in Mautic, is making a modification to the Mautic source code, such as adding a PHP web page that does the job through accessing and updating the Mautic database directly.