www.digitalocean.com Open in urlscan Pro
2606:4700::6813:ae44  Public Scan

URL: https://www.digitalocean.com/community/tutorials/how-to-use-an-spf-record-to-prevent-spoofing-improve-e-mail-reliability
Submission: On October 23 via api from DE — Scanned from DE

Form analysis 2 forms found in the DOM

<form class="CommentFormTemplateStyles__StyledForm-sc-f4f7f538-0 bCRmhw">
  <div class="MarkdownStyles__StyledContainer-sc-dccc8dc1-0 lwZFQ"><input type="text" required="" tabindex="-1" aria-hidden="true" value="" style="height: 0px; width: 0px; opacity: 0; padding: 0px; border: 0px; position: absolute;">
    <div class="MarkdownStyles__StyledActions-sc-dccc8dc1-1 NFBTT"><button type="button" title="Bold" aria-label="Bold" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24"
          xmlns="http://www.w3.org/2000/svg">
          <path
            d="m12.4799 4.625c1.0333 0 1.88.14333 2.54.43.6667.28667 1.16.7 1.48 1.24.32.53333.48 1.16333.48 1.89s-.1433 1.34667-.43 1.86c-.2867.5067-.65.9-1.09 1.18-.44.2733-.8867.4267-1.34.46.4733.0133.96.1367 1.46.37.5.2267.92.5967 1.26 1.11.34.5067.51 1.1833.51 2.03 0 .8-.1633 1.5167-.49 2.15-.32.6267-.8367 1.1233-1.55 1.49-.7133.36-1.6667.54-2.86.54h-5.8v-14.75zm-2.86 6.83-1.03-.87h2.94c.7867 0 1.3767-.1667 1.77-.5.3933-.34.59-.79667.59-1.37 0-.38667-.0833-.70333-.25-.95-.1667-.25333-.4133-.44-.74-.56s-.73-.18-1.21-.18h-3.47l1.4-1.48zm2.23 5.51c.76 0 1.3367-.1733 1.73-.52.4-.3533.6-.83.6-1.43 0-.34-.06-.6367-.18-.89-.1133-.2533-.2767-.4633-.49-.63-.2133-.1733-.4733-.3033-.78-.39-.3-.0933-.6333-.14-1-.14h-3.14l1.03-.86v6.34l-1.4-1.48z"
            fill="currentColor"></path>
        </svg></button><button type="button" title="Italic" aria-label="Italic" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <path d="m6.93994 19.3002.26-1.64h2.97996l1.8-11.32h-2.97996l.26-1.64h7.79996l-.26 1.64h-2.98l-1.8 11.32h2.98l-.26 1.64z" fill="currentColor"></path>
        </svg></button><button type="button" title="Underline" aria-label="Underline" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor" stroke="currentColor" stroke-width=".5">
            <path
              d="m16.104 12.0476c0 1.5307-.3573 2.6667-1.072 3.408-.7147.736-1.7093 1.104-2.984 1.104-1.2693 0-2.26133-.368-2.976-1.104-.71467-.7413-1.072-1.8773-1.072-3.408 0-.2347 0-.4827 0-.744 0-.2667 0-.5467 0-.84v-5.86399h1.368v5.98399.776.664c0 1.184.22667 2.032.68 2.544.4533.5067 1.12.76 2 .76.8853 0 1.5547-.2533 2.008-.76.4587-.512.688-1.36.688-2.544v-7.42399h1.36z">
            </path>
            <path clip-rule="evenodd" d="m7 18.8994c0-.2761.2132-.5.47619-.5h9.04761c.263 0 .4762.2239.4762.5 0 .2762-.2132.5-.4762.5h-9.04761c-.26299 0-.47619-.2238-.47619-.5z" fill-rule="evenodd"></path>
          </g>
        </svg></button><button type="button" title="Strikethrough" aria-label="Strikethrough" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24"
          xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <path clip-rule="evenodd" d="m5 11.9346c0-.2762.19588-.5.4375-.5h13.125c.2416 0 .4375.2238.4375.5 0 .2761-.1959.5-.4375.5h-13.125c-.24162 0-.4375-.2239-.4375-.5z" fill-rule="evenodd"></path>
            <path
              d="m12.0006 19.5646c-1.02 0-1.8933-.16-2.61997-.48-.72-.3267-1.27334-.8167-1.66-1.47-.38667-.6534-.58001-1.4667-.58001-2.44v-.68h1.71001v.65c0 1.02.26666 1.7566.8 2.21.53337.4466 1.30997.67 2.32997.67 1.0534 0 1.85-.18 2.39-.54s.81-.9434.81-1.75c0-.5667-.1566-1.0367-.47-1.41-.2797-.3466-.6592-.6433-1.1385-.89h2.6353c.0468.0652.0912.1319.1332.2.34.54.51 1.22.51 2.04s-.1966 1.52-.59 2.1c-.3866.58-.9433 1.0233-1.67 1.33-.72.3066-1.5833.46-2.59.46z">
            </path>
            <path
              d="m7.80063 10.2446c.04249.0645.08671.1278.13266.19h2.54991c-.4493-.2411-.81352-.52111-1.09258-.84003-.31999-.38-.47999-.86-.47999-1.44 0-.77333.26333-1.33.79-1.67s1.27337-.51 2.23997-.51c1.0067 0 1.7734.20667 2.3.62.5267.40667.79 1.09667.79 2.07v.68h1.71v-.75c0-.93333-.2-1.70667-.6-2.32-.3933-.62-.9533-1.08-1.68-1.38-.72-.30667-1.57-.46-2.55-.46-.9266 0-1.74.14333-2.43997.43-.7.28667-1.24667.70667-1.64 1.26-.38667.55333-.58 1.23-.58 2.03 0 .82.18333 1.51667.55 2.09003z">
            </path>
          </g>
        </svg></button><button type="button" title="Link" aria-label="Link" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <path
            d="m17.906 6.65242c-.5458-.62654-1.5313-.66515-2.1882.02623l-6.43176 6.76875c-.16633.1751-.16633.3981 0 .5731.16633.1751.37821.1751.54454 0l5.32012-5.59886c.3101-.32634.8128-.32634 1.1229 0s.3101.85545 0 1.1818l-5.3201 5.59886c-.7865.8278-2.00389.8278-2.79041 0-.78652-.8277-.78652-2.1089 0-2.9366l6.43171-6.76885c1.2447-1.30991 3.2674-1.35254 4.4701.01279 1.2325 1.31066 1.2688 3.42899-.0234 4.69066l-7.5321 7.9268c-1.73941 1.8305-4.4655 1.8305-6.20487 0s-1.73937-4.6995 0-6.53l6.43177-6.76877c.3101-.32634.8128-.32634 1.1229 0s.3101.85545 0 1.18179l-6.43172 6.76878c-1.11919 1.1779-1.11919 2.9886 0 4.1664 1.11918 1.1779 2.83975 1.1779 3.95892 0l7.5434-7.9387c.0082-.00856.0165-.01693.025-.02511.5953-.57433.632-1.61147-.025-2.30284-.0081-.00856-.0161-.01731-.0238-.02623z"
            fill="currentColor"></path>
        </svg></button><button type="button" title="Image" aria-label="Image" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <path
              d="M5 4.75C4.22416 4.75 3.75 5.29076 3.75 5.77778V18.2222C3.75 18.7092 4.22416 19.25 5 19.25H19C19.7758 19.25 20.25 18.7092 20.25 18.2222V5.77778C20.25 5.29076 19.7758 4.75 19 4.75H5ZM2.25 5.77778C2.25 4.30112 3.5667 3.25 5 3.25H19C20.4333 3.25 21.75 4.30112 21.75 5.77778V18.2222C21.75 19.6989 20.4333 20.75 19 20.75H5C3.5667 20.75 2.25 19.6989 2.25 18.2222V5.77778Z">
            </path>
            <path
              d="M7.5 7.75C7.08579 7.75 6.75 8.08579 6.75 8.5C6.75 8.91421 7.08579 9.25 7.5 9.25C7.91421 9.25 8.25 8.91421 8.25 8.5C8.25 8.08579 7.91421 7.75 7.5 7.75ZM5.25 8.5C5.25 7.25736 6.25736 6.25 7.5 6.25C8.74264 6.25 9.75 7.25736 9.75 8.5C9.75 9.74264 8.74264 10.75 7.5 10.75C6.25736 10.75 5.25 9.74264 5.25 8.5Z">
            </path>
            <path
              d="M15.4697 10.4697C15.7626 10.1768 16.2374 10.1768 16.5303 10.4697L21.5303 15.4697C21.8232 15.7626 21.8232 16.2374 21.5303 16.5303C21.2374 16.8232 20.7626 16.8232 20.4697 16.5303L16 12.0607L7.53033 20.5303C7.23744 20.8232 6.76256 20.8232 6.46967 20.5303C6.17678 20.2374 6.17678 19.7626 6.46967 19.4697L15.4697 10.4697Z">
            </path>
          </g>
        </svg></button><button type="button" title="Highlight" aria-label="Highlight" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <rect height="2" rx=".5" width="13" x="5.5" y="17.5"></rect>
            <path clip-rule="evenodd"
              d="m17.0364 5.96101c-.3515-.35085-.9213-.35085-1.2728 0l-.4757.4749 1.2728 1.27053.4757-.47489c.3515-.35085.3515-.91969 0-1.27054zm-1.3243 2.59246-1.2728-1.27054-6.7393 6.72737v1.2918h1.25148zm-.797-3.43948c.8201-.81865 2.1497-.81865 2.9698 0s.8201 2.14594 0 2.96459l-8.26063 8.24602c-.11252.1123-.26513.1754-.42426.1754h-2.10001c-.33137 0-.6-.2682-.6-.5989v-2.1389c0-.1588.06321-.3112.17574-.4235z"
              fill-rule="evenodd"></path>
          </g>
        </svg></button><button type="button" title="Heading 1" aria-label="Heading 1" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <path d="m14.5439 4.5v13.209h-1.9432v-6.5642l.8776.788h-7.28958l.87761-.7791v6.5553h-1.94328v-13.209h1.94328v6.6269l-.87761-.815h7.28958l-.8776.815v-6.6269z"></path>
            <path
              d="m18.8765 11.5537v7.9469h-1.1606v-6.7648c-.0322.0394-.1236.0896-.274.1504-.1505.0609-.3332.12-.5481.1774-.2149.0537-.4406.0931-.677.1182v-.9887c.2328-.0358.4567-.0895.6716-.1612.215-.0716.3977-.1504.5481-.2364.154-.086.2561-.1666.3063-.2418z">
            </path>
          </g>
        </svg></button><button type="button" title="Heading 2" aria-label="Heading 2" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <path d="m13.4506 4.5v13.2088h-1.9433v-6.5641l.8776.7881h-7.28945l.8776-.7791v6.5551h-1.94326v-13.2088h1.94326v6.6268l-.8776-.8149h7.28945l-.8776.8149v-6.6268z"></path>
            <path
              d="m15.0752 19.5001v-.9833c.0287-.1326.1164-.2937.2633-.4836.1469-.1934.326-.3994.5373-.6179s.4334-.437.6663-.6555c.2364-.2185.4567-.4191.6609-.6018.2507-.2293.4961-.4657.7361-.7093.24-.2471.4388-.5068.5964-.7791.1612-.2758.2418-.5659.2418-.8704 0-.4298-.1021-.7612-.3063-.994-.2006-.2364-.5069-.3546-.9188-.3546-.3295 0-.5928.0698-.7898.2095-.1971.1397-.3385.3367-.4245.591-.086.2508-.129.5445-.129.8812h-1.1713c0-.5337.0931-.9994.2794-1.397.1898-.4012.4728-.711.8489-.9295.3762-.2221.8436-.3331 1.4024-.3331.5266 0 .9654.1003 1.3164.3008.3547.2006.6197.4765.7952.8275.1792.351.2687.754.2687 1.209 0 .3008-.0573.5892-.1719.865-.1111.2723-.2579.5284-.4406.7684-.1791.24-.3726.4621-.5803.6662-.2078.2042-.4048.3887-.5911.5535-.3044.265-.5838.5158-.8382.7522-.2507.2328-.4585.4442-.6232.634-.1612.1863-.2597.3439-.2956.4729h3.5624v.9779z">
            </path>
          </g>
        </svg></button><button type="button" title="Heading 3" aria-label="Heading 3" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <path d="m13.4184 4.5v13.1102h-1.9288v-6.5151l.871.7822h-7.23502l.87105-.7733v6.5062h-1.92876v-13.1102h1.92876v6.5773l-.87105-.8088h7.23502l-.871.8088v-6.5773z"></path>
            <path
              d="m18.5668 15.2446c.3128.0107.5688.0996.7679.2667.2027.1635.352.3822.448.6559.0995.2703.1493.5707.1493.9013 0 .4515-.0853.8622-.256 1.2319-.1706.3662-.4337.6578-.7893.8746-.3519.2169-.8035.3254-1.3545.3254-.4587 0-.8462-.0605-1.1626-.1814-.3165-.1244-.5707-.2986-.7626-.5226-.1885-.2275-.3271-.4977-.416-.8106-.0853-.3129-.128-.6577-.128-1.0346 0-.0036 0-.0071 0-.0107 0-.0035 0-.0071 0-.0106h1.1626v.0106.0107c0 .416.0515.7395.1546.9706.1067.2311.2578.3929.4533.4853.1991.0889.4373.1333.7147.1333.3733 0 .6684-.1209.8852-.3626.2205-.2453.3307-.624.3307-1.1359 0-.1849-.0196-.3574-.0587-.5173-.0355-.16-.1013-.2987-.1973-.416-.096-.1209-.2293-.2151-.4-.2827-.1671-.0711-.3822-.1066-.6453-.1066h-.288v-.88h.288c.256 0 .4676-.0337.6347-.1013.1706-.0711.3039-.1653.3999-.2826.096-.1209.1636-.2542.2027-.4.0426-.1493.064-.3022.064-.4586 0-.4267-.1085-.7342-.3253-.9227-.2169-.1884-.5084-.2826-.8746-.2826-.4018 0-.7253.1067-.9706.32-.2454.2133-.368.6008-.368 1.1626h-1.1626c0-.352.048-.6773.144-.976.0995-.2986.2489-.5582.4479-.7786.2027-.224.4605-.3964.7733-.5173.3129-.1209.6844-.1813 1.1146-.1813.5475 0 .9973.096 1.3493.288.3519.192.6133.4479.7839.7679.1707.32.256.6738.256 1.0613 0 .2951-.0498.5706-.1493.8266-.096.2524-.2453.4586-.448.6186-.1991.16-.4551.2471-.7679.2613z">
            </path>
          </g>
        </svg></button><button type="button" title="Unordered list" aria-label="Unordered list" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24"
          xmlns="http://www.w3.org/2000/svg">
          <path
            d="m4.25 10.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0-6c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm0 12c-.83 0-1.5.68-1.5 1.5s.68 1.5 1.5 1.5 1.5-.68 1.5-1.5-.67-1.5-1.5-1.5zm3 1.5c0 .5523.44772 1 1 1h12c.5523 0 1-.4477 1-1s-.4477-1-1-1h-12c-.55228 0-1 .4477-1 1zm0-6c0 .5523.44772 1 1 1h12c.5523 0 1-.4477 1-1s-.4477-1-1-1h-12c-.55228 0-1 .4477-1 1zm1-7c-.55228 0-1 .44772-1 1s.44772 1 1 1h12c.5523 0 1-.44772 1-1s-.4477-1-1-1z"
            fill="currentColor"></path>
        </svg></button><button type="button" title="Ordered list" aria-label="Ordered list" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24"
          xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <path d="m4.365 4.48535v2.958h-.432v-2.518c-.012.01467-.046.03334-.102.056-.056.02267-.124.04467-.204.066-.08.02-.164.03467-.252.044v-.368c.08667-.01333.17-.03333.25-.06s.148-.056.204-.088c.05733-.032.09533-.062.114-.09z"></path>
            <path
              d="m3.389 13.4734v-.366c.01067-.0494.04333-.1094.098-.18.05467-.072.12133-.1487.2-.23.07867-.0814.16133-.1627.248-.244.088-.0814.17-.156.246-.224.09333-.0854.18467-.1734.274-.264.08933-.092.16333-.1887.222-.29.06-.1027.09-.2107.09-.324 0-.16-.038-.2834-.114-.37-.07467-.088-.18867-.132-.342-.132-.12267 0-.22067.026-.294.078s-.126.1253-.158.22c-.032.0933-.048.2026-.048.328h-.436c0-.1987.03467-.372.104-.52.07067-.1494.176-.2647.316-.346.14-.0827.314-.124.522-.124.196 0 .35933.0373.49.112.132.0746.23067.1773.296.308.06667.1306.1.2806.1.45 0 .112-.02133.2193-.064.322-.04133.1013-.096.1966-.164.286-.06667.0893-.13867.172-.216.248s-.15067.1446-.22.206c-.11333.0986-.21733.192-.312.28-.09333.0866-.17067.1653-.232.236-.06.0693-.09667.128-.11.176h1.326v.364z">
            </path>
            <path
              d="m4.689 17.9194c.11733.004.21333.0373.288.1.076.0613.132.1433.168.246.03733.1013.056.214.056.338 0 .1693-.032.3233-.096.462-.064.1373-.16267.2466-.296.328-.132.0813-.30133.122-.508.122-.172 0-.31733-.0227-.436-.068-.11867-.0467-.214-.112-.286-.196-.07067-.0854-.12267-.1867-.156-.304-.032-.1174-.048-.2467-.048-.388 0-.0014 0-.0027 0-.004 0-.0014 0-.0027 0-.004h.436v.004.004c0 .156.01933.2773.058.364.04.0866.09667.1473.17.182.07467.0333.164.05.268.05.14 0 .25067-.0454.332-.136.08267-.092.124-.234.124-.426 0-.0694-.00733-.134-.022-.194-.01333-.06-.038-.112-.074-.156-.036-.0454-.086-.0807-.15-.106-.06267-.0267-.14333-.04-.242-.04h-.108v-.33h.108c.096 0 .17533-.0127.238-.038.064-.0267.114-.062.15-.106.036-.0454.06133-.0954.076-.15.016-.056.024-.1134.024-.172 0-.16-.04067-.2754-.122-.346-.08133-.0707-.19067-.106-.328-.106-.15067 0-.272.04-.364.12s-.138.2253-.138.436h-.436c0-.132.018-.254.054-.366.03733-.112.09333-.2094.168-.292.076-.084.17267-.1487.29-.194.11733-.0454.25667-.068.418-.068.20533 0 .374.036.506.108s.23.168.294.288.096.2526.096.398c0 .1106-.01867.214-.056.31-.036.0946-.092.172-.168.232-.07467.06-.17067.0926-.288.098z">
            </path>
            <path
              d="m6.625 17.9854c0 .5522.44772 1 1 1h12c.5523 0 1-.4478 1-1 0-.5523-.4477-1-1-1h-12c-.55228 0-1 .4477-1 1zm0-6c0 .5522.44772 1 1 1h12c.5523 0 1-.4478 1-1 0-.5523-.4477-1-1-1h-12c-.55228 0-1 .4477-1 1zm1-7.00005c-.55228 0-1 .44772-1 1 0 .55229.44772 1 1 1h12c.5523 0 1-.44771 1-1 0-.55228-.4477-1-1-1z">
            </path>
          </g>
        </svg></button><button type="button" title="Quote" aria-label="Quote" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <path
              d="m9.45529 9.8724c.86271 0 1.44511.6551 1.44511 1.6257 0 .8736-.6686 1.6015-1.57452 1.6015-.99216 0-1.72549-.8735-1.72549-2.2081 0-3.03307 2.02745-4.2463 3.30001-4.39189v1.33456c-.8628.16985-1.83334 1.11618-1.87648 2.15956.04314-.02427.21569-.12133.43137-.12133z">
            </path>
            <path
              d="m5.05529 9.8724c.86275 0 1.4451.6551 1.4451 1.6257 0 .8736-.66863 1.6015-1.57451 1.6015-.99216 0-1.72549-.8735-1.72549-2.2081 0-3.03307 2.02745-4.2463 3.3-4.39189v1.33456c-.86275.16985-1.83333 1.11618-1.87647 2.15956.04314-.02427.21569-.12133.43137-.12133z">
            </path>
            <path
              d="m14.5447 14.1276c-.8627 0-1.4451-.6551-1.4451-1.6257 0-.8736.6686-1.6015 1.5745-1.6015.9922 0 1.7255.8735 1.7255 2.2081 0 3.0331-2.0274 4.2463-3.3 4.3919v-1.3346c.8628-.1698 1.8333-1.1161 1.8765-2.1595-.0432.0242-.2157.1213-.4314.1213z">
            </path>
            <path
              d="m18.9447 14.1276c-.8627 0-1.4451-.6551-1.4451-1.6257 0-.8736.6686-1.6015 1.5745-1.6015.9922 0 1.7255.8735 1.7255 2.2081 0 3.0331-2.0274 4.2463-3.3 4.3919v-1.3346c.8628-.1698 1.8333-1.1161 1.8765-2.1595-.0432.0242-.2157.1213-.4314.1213z">
            </path>
          </g>
        </svg></button><button type="button" title="Callout" aria-label="Callout" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <path d="m12 6c-3.31371 0-6 2.68629-6 6 0 3.3137 2.68629 6 6 6 3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6zm-7.5 6c0-4.14214 3.35786-7.5 7.5-7.5 4.1421 0 7.5 3.35786 7.5 7.5 0 4.1421-3.3579 7.5-7.5 7.5-4.14214 0-7.5-3.3579-7.5-7.5z">
            </path>
            <path d="m12 10.5c.4142 0 .75.3358.75.75v4.5c0 .4142-.3358.75-.75.75s-.75-.3358-.75-.75v-4.5c0-.4142.3358-.75.75-.75z"></path>
            <path d="m13.125 8.625c0 .62132-.5037 1.125-1.125 1.125s-1.125-.50368-1.125-1.125.5037-1.125 1.125-1.125 1.125.50368 1.125 1.125z"></path>
          </g>
        </svg></button><button type="button" title="Table" aria-label="Table" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <mask id="a" fill="#fff">
            <rect fill="#fff" height="7" rx="1" width="7" x="4.5" y="4.5"></rect>
          </mask>
          <mask id="b" fill="#fff">
            <rect fill="#fff" height="7" rx="1" width="7" x="4.5" y="12.5"></rect>
          </mask>
          <mask id="c" fill="#fff">
            <rect fill="#fff" height="7" rx="1" width="7" x="12.5" y="4.5"></rect>
          </mask>
          <mask id="d" fill="#fff">
            <rect fill="#fff" height="7" rx="1" width="7" x="12.5" y="12.5"></rect>
          </mask>
          <g stroke="currentColor" stroke-linejoin="round" stroke-width="2.4">
            <rect height="7" mask="url(#a)" rx="1" width="7" x="4.5" y="4.5"></rect>
            <rect height="7" mask="url(#b)" rx="1" width="7" x="4.5" y="12.5"></rect>
            <rect height="7" mask="url(#c)" rx="1" width="7" x="12.5" y="4.5"></rect>
            <rect height="7" mask="url(#d)" rx="1" width="7" x="12.5" y="12.5"></rect>
          </g>
        </svg></button><button type="button" title="Code" aria-label="Code" disabled="" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <g fill="currentColor">
            <path
              d="m9.87254 6.52426c.29756.31879.29756.83567 0 1.15447l-4.03273 4.32077 4.03273 4.3208c.29756.3188.29756.8357 0 1.1545-.29754.3188-.77996.3188-1.07751 0l-4.57148-4.8981c-.29755-.3188-.29755-.8356 0-1.1544l4.57148-4.89804c.29755-.3188.77997-.3188 1.07751 0z">
            </path>
            <path
              d="m14.1275 17.4748c-.2976-.3188-.2976-.8357 0-1.1545l4.0327-4.3208-4.0327-4.32077c-.2976-.3188-.2976-.83567 0-1.15447.2975-.3188.7799-.3188 1.0775 0l4.5714 4.89804c.2976.3188.2976.8356 0 1.1544l-4.5714 4.8981c-.2976.3188-.78.3188-1.0775 0z">
            </path>
          </g>
        </svg></button>
      <div class="MarkdownStyles__StyledActionsRight-sc-dccc8dc1-2 emmQTZ"><button type="button" disabled="" title="Preview" aria-label="Preview" class="MarkdownStyles__StyledActionButton-sc-dccc8dc1-3 hbUzfS"><svg height="24" viewBox="0 0 24 24"
            width="24" xmlns="http://www.w3.org/2000/svg">
            <path clip-rule="evenodd"
              d="m3.37993 12.6358c-.1925-.2497-.35068-.466-.47127-.6358.12059-.1698.27877-.3861.47127-.6358.49035-.6359 1.1985-1.48178 2.07052-2.32506 1.7738-1.71533 4.09082-3.28914 6.54965-3.28914 2.4589 0 4.7759 1.57381 6.5497 3.28914.8721.84328 1.5802 1.68916 2.0706 2.32506.1925.2497.3506.466.4712.6358-.1206.1698-.2787.3861-.4712.6358-.4904.6359-1.1985 1.4818-2.0706 2.3251-1.7738 1.7153-4.0908 3.2891-6.5497 3.2891-2.45883 0-4.77585-1.5738-6.54965-3.2891-.87202-.8433-1.58017-1.6892-2.07052-2.3251zm19.25177-1.0403c.0001.0002.0003.0004-.6316.4045.6319.4041.6317.4043.6316.4045l-.0004.0006-.001.0017-.0034.0052-.0116.0178c-.0099.0152-.0241.0368-.0425.0645-.0368.0553-.0905.1348-.1602.2349-.1394.2002-.343.4836-.6044.8225-.5217.6766-1.278 1.5807-2.2156 2.4874-1.8455 1.7847-4.5285 3.7109-7.5925 3.7109-3.06392 0-5.7469-1.9262-7.59239-3.7109-.93763-.9067-1.69394-1.8108-2.21565-2.4874-.26133-.3389-.465-.6223-.60434-.8225-.0697-.1001-.12338-.1796-.1602-.2349-.01842-.0277-.03263-.0493-.04253-.0645l-.0116-.0178-.00335-.0052-.00106-.0017-.00038-.0006c-.00014-.0002-.00027-.0004.63155-.4045-.63182-.4041-.63169-.4043-.63155-.4045l.00038-.0006.00106-.0017.00335-.0052.0116-.0178c.0099-.0152.02411-.0368.04253-.0645.03682-.0553.0905-.1348.1602-.2349.13934-.2002.34301-.4836.60434-.8225.52171-.67661 1.27802-1.58072 2.21565-2.48744 1.84549-1.78467 4.52847-3.71086 7.59239-3.71086 3.064 0 5.747 1.92619 7.5925 3.71086.9376.90672 1.6939 1.81083 2.2156 2.48744.2614.3389.465.6223.6044.8225.0697.1001.1234.1796.1602.2349.0184.0277.0326.0493.0425.0645l.0116.0178.0034.0052.001.0017zm-.6316.4045.6319-.4041.2584.4041-.2584.4041zm-20.63177-.4041.63182.4041-.63182.4041-.25847-.4041zm7.38182.4041c0-1.7949 1.45505-3.25 3.24995-3.25 1.795 0 3.25 1.4551 3.25 3.25s-1.455 3.25-3.25 3.25c-1.7949 0-3.24995-1.4551-3.24995-3.25zm3.24995-4.75c-2.6233 0-4.74995 2.12665-4.74995 4.75 0 2.6234 2.12665 4.75 4.74995 4.75 2.6234 0 4.75-2.1266 4.75-4.75 0-2.62335-2.1266-4.75-4.75-4.75z"
              fill="currentColor" fill-rule="evenodd"></path>
          </svg></button><a class="LazyLink___StyledLink-sc-679fc0ad-0 fjIPKj MarkdownStyles__StyledActionLink-sc-dccc8dc1-4 gFNlzT" target="_blank" title="Help" aria-label="Help" href="/community/markdown"><svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m12 6c-3.31371 0-6 2.68629-6 6 0 3.3137 2.68629 6 6 6 3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6zm-7.5 6c0-4.14214 3.35786-7.5 7.5-7.5 4.1421 0 7.5 3.35786 7.5 7.5 0 4.1421-3.3579 7.5-7.5 7.5-4.14214 0-7.5-3.3579-7.5-7.5z"></path><path d="m11.1951 13.8881v-.0817c.0054-.5327.0554-.9565.15-1.2716.0973-.315.2352-.5699.4136-.7646.1784-.1948.3934-.3723.6448-.5327.1622-.1089.3082-.2306.4379-.3652.1298-.1346.2325-.2892.3082-.4639s.1136-.3681.1136-.58c0-.25489-.0568-.47542-.1703-.66157-.1136-.18616-.265-.32936-.4542-.4296-.1866-.1031-.3947-.15465-.6245-.15465-.2082 0-.4069.04582-.5961.13747-.1893.09165-.3461.23484-.4704.42959-.1244.19189-.196.43962-.2149.7432h-1.2328c.01892-.51551.14193-.95084.36902-1.30597.22708-.35799.52718-.62864.90028-.81193.3757-.18329.7907-.27494 1.2449-.27494.4974 0 .9327.09881 1.3058.29642.373.19475.6623.46826.8678.82053.2081.3494.3122.75751.3122 1.22434 0 .32081-.0473.61001-.1419.86781-.0947.2549-.2298.4825-.4055.683-.1731.2005-.3812.3781-.6245.5327-.2298.1518-.4164.3093-.5596.4726-.1406.1632-.2434.3565-.3082.5799-.0649.2234-.1001.4998-.1055.8291v.0817zm.6123 2.6119c-.2217 0-.4123-.0831-.5718-.2492-.1595-.1689-.2392-.3723-.2392-.61 0-.2348.0797-.4353.2392-.6014.1595-.169.3501-.2535.5718-.2535.219 0 .4082.0845.5677.2535.1622.1661.2433.3666.2433.6014 0 .1575-.0378.3022-.1135.4339-.073.1289-.1703.232-.292.3093s-.2568.116-.4055.116z"></path></g></svg></a>
      </div>
    </div>
    <div class="MarkdownStyles__StyledWrapper-sc-dccc8dc1-5 iZDgyt">
      <div class="MarkdownStyles__StyledSlateEditableWrapper-sc-dccc8dc1-6 gxDflj">
        <div id="input-:r0:" class="MarkdownStyles__StyledSlateEditable-sc-dccc8dc1-8 gUXryj" data-slate-editor="true" data-slate-node="value" contenteditable="false" zindex="-1"
          style="position: relative; white-space: pre-wrap; overflow-wrap: break-word; min-height: 24px;">
          <div data-slate-node="element" style="position: relative;"><span data-slate-node="text"><span data-slate-leaf="true" data-slate-obj="{&quot;text&quot;:&quot;&quot;,&quot;placeholder&quot;:&quot;Leave a comment...&quot;}"
                class="MarkdownStyles__StyledSlateLeaf-sc-dccc8dc1-9 kEIgRr"><span data-slate-placeholder="true" contenteditable="false"
                  style="position: absolute; top: 0px; pointer-events: none; width: 100%; max-width: 100%; display: block; opacity: 0.333; user-select: none; text-decoration: none;">Leave a comment...</span><span data-slate-zero-width="n"
                  data-slate-length="0"><br></span></span></span></div>
        </div>
      </div>
    </div>
  </div>
</form>

<form class="TechTalkRegistrationModalTemplateStyles__StyledForm-sc-8b89ec4f-1 fneTDw">
  <div class="alert alert-success alert-hidden"><strong>Success!</strong> Thank you! Please check your email for further details.</div>
  <p>Please complete your information!</p><input placeholder="user@digitalocean.com" required="" type="email" class="TechTalkRegistrationModalTemplateStyles__StyledFormInput-sc-8b89ec4f-2 lhxYYL" value=""><input placeholder="First Name" required=""
    type="text" class="TechTalkRegistrationModalTemplateStyles__StyledFormInput-sc-8b89ec4f-2 lhxYYL" value=""><input placeholder="Last Name" required="" type="text"
    class="TechTalkRegistrationModalTemplateStyles__StyledFormInput-sc-8b89ec4f-2 lhxYYL" value=""><input type="submit" class="TechTalkRegistrationModalTemplateStyles__StyledSubmit-sc-8b89ec4f-3 WomeH" value="Sign up">
</form>

Text Content

GPU Droplets are in General Availability. Spin up an NVIDIA H100 today

Early Access to Internal Load Balancers is now available

Register for Hacktoberfest and start contributing your pull/merge requests today

New: GenAI Platform Early Availability, Sign-up Here

Optimize your global HTTP traffic with our Global Load Balancer! Get started

New: GPUs are now generally available for DigitalOcean Kubernetes (DOKS). Learn
more

Great news, eh! DigitalOcean Spaces has landed in Toronto. 🍁 Learn more

Early Access to VPC Peering is available, now with support for DOKS

 * Blog
 * Docs
 * Get Support
 * Contact Sales

DigitalOcean

 * Products
   
    * Featured Products
      
      * Droplets
        Scalable virtual machines
      * Kubernetes
        Scalable virtual machines
      * AI / ML
        Build and scale AI models
      * Cloudways
        Managed cloud hosting
      * App Platform
        Get apps to market faster
   
    * Compute
      
       * Droplets
       * Kubernetes
       * CPU-Optimized Droplets
       * Functions
       * App Platform
      
      AI / ML
      
       * GPU Droplets
       * GenAI Platform
      
      Backups & Snapshots
      
       * Backups
       * Snapshots
       * SnapShooter
      
      Networking
      
       * Virtual Private Cloud (VPC)
       * Cloud Firewalls
       * Load Balancers
       * DNS
       * DDoS Protection
      
      Managed Databases
      
       * MongoDB
       * Kafka
       * MySQL
       * PostgreSQL
       * Caching
       * OpenSearch
      
      Storage
      
       * Spaces Object Storage
       * Volume Block Storage
      
      Developer Tools
      
       * API
       * CLI
       * Support Plans
       * Monitoring
       * Uptime
       * Identity Access Management
      
      Cloud Website Hosting
      
       * Cloudways
   
   See all products
 * Solutions
    *  * AI and Machine LearningDevelop, train, and deploy AI apps
         * GPUs
         * Notebook IDE
       * BlockchainInfrastructure for decentralized apps
       * Blogs, Forums and Content WebsitesLightning-fast, reliable CMS hosting
         * Wordpress
         * Ghost
         * Mastodon
       * Data AnalyticsReal-time data processing at scale
         * Data Streaming
         * AdTech & Martech
       * Developer ToolsDevOps and CI/CD solutions
         * CI/CD
         * Prototyping
       * Digital Marketing AgenciesPower your clients’ websites and campaigns
         * Freelancer
         * IT Consulting
       * EcommerceBuild beautiful online storefronts
         * Dropshipping
         * WooCommerce
         * Magento
       * Game DevelopmentLow-latency multiplayer servers
         * Minecraft Hosting
       * IOTConnect to the power of the cloud
       * ISVsStreamlined ISV application development
       * Secure Web HostingPowerful protection from DDoS and more
         * Private VPN
       * Startup Cloud HostingScalable, cost-effective infrastructure
         * Small Business
       * Video StreamingHigh-bandwidth, low-latency delivery
       * Web and Mobile AppsSimple cross-platform app hosting
         * cPanel
         * Docker
         * Next.js
         * Node.js
       * Website HostingFast page loads and reliable site uptime
         * VPS Hosting
         * Virtual Machines
      
      Questions?
      
       * Talk to an expert
   
   See all solutions
 * Developers
   
    * Our Community
      
      * Community Home
        DevOps and development guides
      * CSS-Tricks
        All things web design
      * The Wave
        Content to level up your business.
   
    * Resources
      
       * Tutorials
       * Questions and Answers
       * Marketplace
       * Tools
       * Write for DOnations
       * Customer Stories
       * DigitalOcean Blog
       * Pricing Calculator
      
      Get Involved
      
       * Hatch Startup Program
       * Open Source Sponsorships
       * Hacktoberfest
       * Deploy 2024
       * DO Impact
       * Nonprofits
      
      Documentation
      
       * Quickstart
       * Compute
       * Storage
       * Managed Databases
       * Containers
       * Billing
       * API Reference

 * Partners
   
    * DigitalOcean Partner Programs
      
      * Become a Partner
      * Partner Services Program
      * ISV Partner Program
      * Marketplace
      * Hatch Partner Program
      * Connect with a Partner
   
    * Partner Programs Resources
      
       * Customer Stories
       * DigitalOcean Onboarding Series
       * Training for Agencies and Freelancers
       * Price Estimate Calculator
      
      Featured Partner Articles
      
       * Cloud cost optimization best practices
         
         Read more
      
       * How to choose a cloud provider
         
         Read more
      
       * DigitalOcean vs. AWS Lightsail: Which Cloud Platform is Right for You?
         
         Read more
      
      Questions?
      
       * Talk to an expert

 * Pricing

 * Log in
   * Log in to:
   * Community
   * DigitalOcean
 * Sign up
   * Sign up for:
   * Community
   * DigitalOcean

 * Blog
 * Docs
 * Get Support
 * Contact Sales


 * Log in
   * Log in to:
   * Community
   * DigitalOcean
 * Sign up
   * Sign up for:
   * Community
   * DigitalOcean


 * Tutorials
 * Questions
 * Learning Paths
 * For Businesses
 * Product Docs
 * Social Impact
 * Search Community

TUTORIAL


HOW TO USE AN SPF RECORD TO PREVENT SPOOFING & IMPROVE E-MAIL RELIABILITY

Published on July 16, 2013
 * Security
 * Email
 * DNS

Pablo Carranza


INTRODUCTION

A carefully tailored SPF record will reduce the likelihood of your domain name
getting fraudulently spoofed and keep your messages from getting flagged as spam
before they reach your recipients. Email spoofing is the creation of email
messages with a forged sender address; something that is simple to do because
many mail servers do not perform authentication. Spam and phishing emails
typically use such spoofing to mislead the recipient about the origin of the
message. A number of measures to address spoofing, however, have developed over
the years: SPF, Sender ID, DKIM, and DMARC. Sender Policy Framework (SPF) is an
email validation system designed to prevent spam by detecting email spoofing.
Today, nearly all abusive e-mail messages carry fake sender addresses. The
victims whose addresses are being abused often suffer from the consequences,
because their reputation gets diminished, they have to waste their time sorting
out misdirected bounce messages, or (worse) their IP addresses get blacklisted.

The SPF is an open standard specifying a technical method to prevent
sender-address forgery. SPF allows administrators to specify which hosts are
allowed to send mail on behalf of a given domain by creating a specific SPF
record (or TXT record) in the Domain Name System (DNS). Mail exchangers use DNS
records to check that mail from a given domain is being sent by a host
sanctioned by that domain's administrators.


BENEFITS

Adding an SPF record to your DNS zone file is the best way to stop spammers from
spoofing your domain. In addition, an SPF Record will reduce the number of
legitimate e-mail messages that are flagged as spam or bounced back by your
recipients' mail servers. The SPF record is not 100% effective, unfortunately,
because not all mail providers check for it. Many do, however, so you should
notice a significant decrease in the amount of bounce-backs you receive.


EXAMPLE SPF RECORD

An SPF record is added to your domain's DNS zone file as a TXT record and it
identifies authorized SMTP servers for your domain.

TXT @ "v=spf1 a include:_spf.google.com ~all"

If you are utilizing the DigitalOcean DNS Manager, make sure to wrap the SPF
record with quotes. The following table provides an explanation of the various
components of the Example SPF Record:

ComponentsDescription TXTThe DNS zone record type; SPF records are written as
TXT records @In a DNS file, the "@" symbol is a placeholder used to represent
"the current domain" v=spf1Identifies the TXT record as an SPF record, utilizing
SPF Version 1 aAuthorizes the host(s) identified in the domain's A record(s) to
send e-mail include:Authorizes mail to be sent on behalf of the domain from
google.com ~allDenotes that this list is all inclusive, and no other servers are
allowed to send e-mail


COMPONENTS OF AN SPF RECORD

An SPF record consists of the SPF version number followed by strings comprised
of (i) mechanisms, (ii) qualifiers, and (sometimes) (iii) modifiers. SPF clients
ignore TXT records that do not start with the version string "v=spf1 ...".

SPF records may define zero or more mechanisms. Mechanisms can be used to
describe the set of hosts which are designated as authorized, outbound mailers
for the domain. The following list are common mechanisms included in an SPF
record:

all | ip4 | ip6 | a | mx | ptr | exists | include

Mechanisms can be prefixed with one of four qualifiers:

QualifierDescription +Pass = The address passed the test; accept the message.
Example: "v=spf1 +all" -(Hard) Fail = The address failed the test; bounce any
e-mail that does not comply. Example: "v=spf1 -all" ~Soft Fail = The address
failed the test, but the result is not definitive; accept & tag any
non-compliant mail. Example: "v=spf1 ~all" ?Neutral = The address did not pass
or fail the test; do whatever (probably accept the mail). Example: "v=spf1 ?all"

If a qualifier is not included, the + qualifier is implied.

SPF records may also define 1 of 2 modifiers; or, no modifier at all. Each
modifier, however, can appear only once.

redirect | exp

SPF records are evaluated in a two-pass process: First, all mechanisms and
qualifiers are evaluated. Then, all modifiers are evaluated:

 1. Mechanisms are evaluated from left to right;
 2. Modifiers are evaluated on the second pass and can occur anywhere in the
    record.


MECHANISMS

MechanismDescription allMatches all local and remote IPs and goes at the end of
the SPF record. Example: "v=spf1 +all" ip4Specifies a single IPv4 address or an
acceptable IPv4 address range. A mask of /32 is assumed if no prefix-length is
included. Example: "v=spf1 ip4:192.168.0.1/16 -all" ip6Same concept found in
ip4, but, obviously, with IPv6 addresses, instead. If no prefix-length is given,
/128 is assumed (singling out an individual host address). Example: "v=spf1
ip6:1080::8:800:200C:417A/96 -all" aSpecifies all IPs in the DNS A record.
Example: "v=spf1 a:domain.com -all" mxSpecifies all A records for each host's MX
record. Example: "v=spf1 mx mx:domain.com -all" ptrSpecifies all A records for
each host's PTR record. Example: "v=spf1 ptr:domain.com -all" existsSpecifies
one or more domains normally singled out as exceptions to the SPF definitions.
An A query is performed on the provided domain; if a result is found a match
occurs. Example: "v=spf1 exists:domain.com -all" includeSpecifies other domains
that are authorized domains. Example: "v=spf1 include:outlook.microsoft.com
-all"


THE "ALL" MECHANISM

THE ALL MECHANISM USUALLY GOES AT THE END OF THE SPF RECORD; AND IT IS PREFIXED
WITH A QUALIFIER, E.G.

EXAMPLESDESCRIPTION "V=SPF1 MX -ALL"ALLOWS THE DOMAIN'S MX HOSTS TO SEND MAIL
FOR THE DOMAIN, AND PROHIBITS ALL OTHER HOSTS. "V=SPF1 -ALL"THE DOMAIN SENDS NO
MAIL AT ALL. "V=SPF1 +ALL"THIS SPF IS USELESS, AS IT DOES NOT LIMIT THE HOSTS
THAT ARE AUTHORIZED TO SEND E-MAIL.


MODIFIERS

Modifiers are optional and a modifier may appear only once per record. Unknown
modifiers are ignored.

The “redirect” modifier sends the inquiry to another domain.

redirect=example.com

That is, the SPF record for example.com replaces the SPF record for the current
domain. The redirect modifier is useful to those that wish to apply the same
record to multiple domains. For example:

Sample entry in ny.yourdomain.com's zone file:TXT @ "v=spf1
redirect=_spf.yourdomain.com" Sample entry in sf.yourdomain.com's zone file:TXT
@ "v=spf1 redirect=_spf.yourdomain.com" Sample entry in am.yourdomain.com's zone
file:TXT @ "v=spf1 redirect=_spf.yourdomain.com" Sample entry in
_spf.yourdomain.com's zone file:TXT @ "v=spf1 mx:yourdomain.com -all"

For clarity, it is RECOMMENDED that any "redirect" modifier appear as the very
last term in a record.

The "exp" modifier sets up an explanation in the SPF record.

exp=[macro-string]

If an SPF query produces a FAIL result, the explanation is queried and the
explanation string provides more information to the nonconforming user. The
explanation is typically placed in an SPF log. Example: exp=spf-error. An SPF
publisher can specify the explanation string that senders see. This way, an ISP
can direct nonconforming users to a web page that provides further instructions.


PUTTING IT ALL TOGETHER

Although you do not need an SPF record on your DNS server to evaluate incoming
email against SPF policies published on other DNS servers, the best practice is
to set up an SPF record on your DNS server. Setting up an SPF record lets other
email servers use SPF filtering (if the feature is available on the mail server)
to protect against incoming email from spoofed, or forged, email addresses that
may be associated with your domain. As SPF records are implemented more widely,
SPF filtering will become more effective at identifying spoofed email messages.

As always, if you need help setting up your SPF record, look to the DigitalOcean
Community for assistance by posing your question(s), below.

Article Submitted by: Pablo Carranza

Thanks for learning with the DigitalOcean Community. Check out our offerings for
compute, storage, networking, and managed databases.

Learn more about our products

About the authors
Pablo Carranza

author

STILL LOOKING FOR AN ANSWER?

Ask a questionSearch for more help

--------------------------------------------------------------------------------

Was this helpful?
YesNo
 

Comments
10 Comments
Leave a comment...


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials,
documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Comment
Kamal Nasser
DigitalOcean Employee
• August 5, 2013

@schroeder.noia: Did you follow a specific article on setting up postfix?

Also, try changing your TXT record to this:

<pre>TXT @ “v=spf1 mx a ip4:<strong>yourdropletsip</strong> ~all”</pre>

Replace yourdropletsip with your droplet’s IP.

 * Reply

geniusdibya • July 23, 2020

Can misconfiguration in an SPF record lead to blacklisting of the sender domain?

 * Reply

kitjohnson • June 28, 2020

What if I only want to allow sending email from Postfix directly from the
server?The example shows include:_spf.google.com. I’m not sure what to do…should
I leave out the include part?

 * Reply

Abdo • April 10, 2020

hhhhhhhhhhhhhh how to make it

 * Reply

Polo Yañez • June 6, 2019

Thank you for your post! I was really clear and helpful to me.

 * Reply

matthewpava • January 3, 2019

I find it easier to just use an SPF wizard such as https://www.spfwizard.net/.

 * Reply

bbaazy5 • October 9, 2018

i tried many solutions but with no result, i can receive mail from gmail but
can’t send or reply. Any other soution please

 * Reply

sfeda • September 19, 2018

Hello, I have integrated TrendMicro HES into Office 365 so the mail goes to
TrendMicro HES first and is filtered and then sent to Office 365 for delivery. I
was trying to keep the original Office 365; mail.protectiuon.outlook.com in
place as a fail over in case there is an issue with the TrendMicro HES system.
Would I need to completely remove the spf.protection.outlook.com -all and add
the v=spf1 include:spf.hes.trendmicro.com –all? It seems I have a conflict where
the SPF is set for office 365 but the email is really coming from TrendMicro
HES.

Thanks in Advance.

Here is what my SPF record shows from MX Toolbox: v=spf1 ip4:XXX.XXX.XXX.XXX
include:sl8v-hv2j.accessdomain.com include:spf.mailjet.com
include:spf.protection.outlook.com -all

But my Office 365 settings show: Expected vs actual record Priority Host name
Points to address or value TTL Status Expected record 0 @
XXXXXXX-com.mail.protection.outlook.com. 3600 The records matched, however the
priority doesn’t match the expected values Actual record 20 @
XXXXXXX-com.mail.protection.outlook.com. 43200 Actual record 10 @
in.hes.trendmicro.com. 43200 Invalid entry CNAME records Copy this table
Expected vs actual record Host name Points to address or value TTL Status
Expected record autodiscover autodiscover.outlook.com. 3600 Correct Expected
record sip sipdir.online.lync.com. 3600 Correct Expected record lyncdiscover
webdir.online.lync.com. 3600 Correct TXT records Copy this table Expected vs
actual record TXT name TXT value TTL Status Expected record @ v=spf1
include:spf.protection.outlook.com -all 3600 Correct

 * Reply

14bcs047 • September 10, 2018

grate

 * Reply

andersdk • September 14, 2017

Anyone else have issues with not being able to enter a hostname without it being
domain.com.domain.com? I can’t leave it blank either…

 * Reply

Load more comments
This work is licensed under a Creative Commons Attribution-NonCommercial-
ShareAlike 4.0 International License.


TRY DIGITALOCEAN FOR FREE

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up


POPULAR TOPICS

 * AI/ML
 * Ubuntu
 * Linux Basics
 * JavaScript
 * Python
 * MySQL
 * Docker
 * Kubernetes
 * All tutorials
 * Talk to an expert

JOIN THE TECH TALK

Success! Thank you! Please check your email for further details.

Please complete your information!


FEATURED ON COMMUNITY


GET OUR BIWEEKLY NEWSLETTER

Sign up for Infrastructure as a Newsletter.

Sign up


HOLLIE'S HUB FOR GOOD

Working on improving health and education, reducing inequality, and spurring
economic growth? We'd like to help.

Learn more


BECOME A CONTRIBUTOR

Get paid to write technical tutorials and select a tech-focused charity to
receive a matching donation.

Learn more


FEATURED TUTORIALS

Kubernetes CourseLearn Python 3Machine Learning in PythonGetting started with
GoIntro to Kubernetes


DIGITALOCEAN PRODUCTS

App PlatformVirtual MachinesManaged DatabasesManaged KubernetesBlock
StorageObject StorageMarketplaceVPCLoad Balancers


WELCOME TO THE DEVELOPER CLOUD

DigitalOcean makes it simple to launch in the cloud and scale up as you grow —
whether you're running one virtual machine or ten thousand.

Learn more


COMPANY

 * About
 * Leadership
 * Blog
 * Careers
 * Customers
 * Partners
 * Referral Program
 * Affiliate Program
 * Press
 * Legal
 * Privacy Policy
 * Security
 * Investor Relations
 * DO Impact
 * Nonprofits

PRODUCTS

 * Overview
 * Droplets
 * Kubernetes
 * Functions
 * App Platform
 * GPU Droplets
 * GenAI Platform
 * Load Balancers
 * Managed Databases
 * Spaces
 * Block Storage
 * API
 * Uptime
 * Identity Access Management
 * Cloudways

RESOURCES

 * Community Tutorials
 * Community Q&A
 * CSS-Tricks
 * Write for DOnations
 * Currents Research
 * Hatch Startup Program
 * Compass Council
 * Open Source
 * Newsletter Signup
 * Marketplace
 * Pricing
 * Pricing Calculator
 * Documentation
 * Release Notes
 * Code of Conduct
 * Shop Swag

SOLUTIONS

 * Website Hosting
 * VPS Hosting
 * Web & Mobile Apps
 * Game Development
 * Streaming
 * VPN
 * SaaS Platforms
 * Cloud Hosting for Blockchain
 * Startup Resources

CONTACT

 * Support
 * Sales
 * Report Abuse
 * System Status
 * Share your ideas

COMPANY

 * About
 * Leadership
 * Blog
 * Careers
 * Customers
 * Partners
 * Referral Program
 * Affiliate Program
 * Press
 * Legal
 * Privacy Policy
 * Security
 * Investor Relations
 * DO Impact
 * Nonprofits

PRODUCTS

 * Overview
 * Droplets
 * Kubernetes
 * Functions
 * App Platform
 * GPU Droplets
 * GenAI Platform
 * Load Balancers
 * Managed Databases
 * Spaces
 * Block Storage
 * API
 * Uptime
 * Identity Access Management
 * Cloudways

RESOURCES

 * Community Tutorials
 * Community Q&A
 * CSS-Tricks
 * Write for DOnations
 * Currents Research
 * Hatch Startup Program
 * Compass Council
 * Open Source
 * Newsletter Signup
 * Marketplace
 * Pricing
 * Pricing Calculator
 * Documentation
 * Release Notes
 * Code of Conduct
 * Shop Swag

SOLUTIONS

 * Website Hosting
 * VPS Hosting
 * Web & Mobile Apps
 * Game Development
 * Streaming
 * VPN
 * SaaS Platforms
 * Cloud Hosting for Blockchain
 * Startup Resources

CONTACT

 * Support
 * Sales
 * Report Abuse
 * System Status
 * Share your ideas

© 2024 DigitalOcean, LLC.Sitemap.Cookie Preferences
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 







Loading...


COMMUNITY




PRODUCT DOCS




MARKETPLACE




DIGITALOCEAN BLOG


navigate go exit