<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: otowa552</title>
    <description>The latest articles on DEV Community by otowa552 (@otowa552).</description>
    <link>https://dev.to/otowa552</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1316855%2F5a316c1b-1934-4f58-ab3f-a51ce6e883e2.png</url>
      <title>DEV Community: otowa552</title>
      <link>https://dev.to/otowa552</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/otowa552"/>
    <language>en</language>
    <item>
      <title>How to send emails using Contact Form 7 API</title>
      <dc:creator>otowa552</dc:creator>
      <pubDate>Wed, 03 Apr 2024 09:02:22 +0000</pubDate>
      <link>https://dev.to/otowa552/how-to-send-emails-using-contact-form-7-api-2pm8</link>
      <guid>https://dev.to/otowa552/how-to-send-emails-using-contact-form-7-api-2pm8</guid>
      <description>&lt;p&gt;Due to the change in the CF7 specification, it is (probably) not possible to send emails with the CF7API by any method currently available on the Internet.&lt;/p&gt;

&lt;p&gt;I would like to write how to do it for people like me who have to create a mail form with Wordpress in 2024.&lt;/p&gt;

&lt;p&gt;Here is a simple example.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;form id="Form"&amp;gt;
  &amp;lt;dl&amp;gt;
    &amp;lt;dt&amp;gt;Name&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;input type="text" name="your-name"&amp;gt;&amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Email&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;input type="text" name="your-email"&amp;gt;&amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Subject&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;input type="text" name="your-subject"&amp;gt;&amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Message&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;textarea name="your-message"&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;/dd&amp;gt;
  &amp;lt;/dl&amp;gt;
  &amp;lt;input type="submit" value="Submit"&amp;gt;
&amp;lt;/form&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;JS
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const Form = document.querySelector("Form");

Form.addEventListener("submit", async (e) =&amp;gt; {
    e.preventDefault();

    const formData = new FormData(Form);
    formData.append("_wpcf7_unit_tag", "&amp;lt;CF7_UNIT_TAG&amp;gt;");

    try {
        const response = await fetch(
            "https://your.site/wp-json/contact-form-7/v1/contact-forms/&amp;lt;CF7_FORM_ID&amp;gt;/feedback",
            {
                method: "POST",
                headers: {
                    "Content-Type": "amultipart/form-data",
                },
                body: formData,
            },
        );

        console.log(response);
    } catch (error) {
        console.error(error);
    }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;CF7 Edit Page
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;label&amp;gt; Your name
    [text* your-name autocomplete:name] &amp;lt;/label&amp;gt;

&amp;lt;label&amp;gt; Your email
    [email* your-email autocomplete:email] &amp;lt;/label&amp;gt;

&amp;lt;label&amp;gt; Subject
    [text* your-subject] &amp;lt;/label&amp;gt;

&amp;lt;label&amp;gt; Your message (optional)
    [textarea your-message] &amp;lt;/label&amp;gt;

[submit "Submit"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The point is to add a unit tag to the form content.&lt;br&gt;
Due to the change in CF7 specifications, the id attribute of the shortcode now includes a unit tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[contact-form-7 id="&amp;lt;CF7_UNIT_TAG&amp;gt;" title="Contact form 1"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I don't know how to get the ID other than looking at the URL of the CF7 Edit Page.(If you know, please tell me in the comments.)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://your.site/wp-admin/admin.php?page=wpcf7&amp;amp;post=&amp;lt;CF7_FORM_ID&amp;gt;&amp;amp;action=edit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;It's easier to use AlpineJS or something to make complex forms. It might also be good to partially introduce React or Vue.&lt;br&gt;
Using CF7 with API will make the backend easier.&lt;br&gt;
If it was helpful, please let me know in the comments.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>api</category>
    </item>
  </channel>
</rss>
