Kamis, 11 Mei 2023

How to add List-Unsubscribe header

 To implement the opt-out option in your email header, your email server must first be configured. For example, this is how to add the list-unsubscribe header to all outgoing emails using Postfix:

  • in /etc/postfix/main.cf, set header_checks to:
header_checks = regexp:/etc/postfix/list_unsub_header 

Copy

  • create a list_unsub_header file in /etc/postfix/ and add the following:
/^Content-Transfer-Encoding:/i PREPEND List-Unsubscribe: mailto:<sender-email-address>?subject=unsubscribe>"

Copy

  • Restart Postfix it with
service postfix restart

Copy

or

/etc/init.d/postfix restart

Copy

Contact your email administrator to insert this option for your particular server. If you use an email service provider, you can ask them to insert the list-unsubscribe header into your email. Or you can do this yourself, using the ESP’s documentation. To accomplish this, you will have to choose between two types of unsubscribing methods: mailto and http.

Mailto

Mailto is the most commonly used method for implementing the list-unsubscribe header. When a user clicks the unsubscribe link, the mail client generates an email with an unsubscribe request and sends it to a specified email address. You also need to process the request and unsubscribe from this user. Here is the flow of setting up a mailto list-unsubscribe:

  • Create a dedicated email address for unsubscribe requests. For example, unsubscribe@example.com
  • Provide this email address to your email administrator or ESP and ask them to insert it into the email header. The following syntax should be used:
List-Unsubscribe: <mailto: unsubscribe@example.com?subject=unsubscribe>

Copy

  • With the mailto method, you have to manually unsubscribe the users.

Http or unsubscribe URL

With the http method, behind the list-unsubscribe header, there is a URL leading to a web page for opting out. When a user clicks the unsubscribe link, a landing page 2 opens, and the user is asked to confirm unsubscription. Here is the flow of setting up an http list-unsubscribe:

  • Create a web page dedicated to unsubscribe requests. Both http: and https: are acceptable. For example, http://www.example.com/unsubscribe.html 7
  • Provide the unsubscribe URL to your email administrator or ESP, and ask them to insert it into the email header. It is best to use this method in conjunction with mailto because the recipient’s inbox client may not support http list-unsubscribe. That’s why it is advisable to use the following syntax:
List-Unsubscribe:  <mailto: unsubscribe@example.com?subject=unsubscribe>,  <http://www

DKIM not working - Mails do not get signed

PROBLEM DESCRIPTION

For any given domain, in Mail Settings, "Use DKIM spam protection system to sign outgoing email messages" is checked enabled, but in some circumstances outbound email messages are not signed from said domain. It's necessary to switch DKIM off and on again ;) to get it to work. 


Unable to send dkim headers

Troubleshoot log /var/log/rspamd/rspamd.log
Prompt for permission issues:
dkim_module_load_key_format: cannot load dkim key /www/server/dkim/xxxx.com/default.private: cannot map key file: '/www/server/dkim/xxxx.com/default.private' Permission denied

Set 640 to 644, then restart rspamd to send emails to view email source code
chmod 644 /www/server/dkim/xxxx.com/default.private
/etc/init.d/rspamd restart

WDR Nginx rewite rule


location / {
  if (!-e $request_filename){
    rewrite ^/password-reset/([^\/]+)(\/|)$ /index.php?link1=welcome&link2=password_reset&user_id=$1;
  }
  rewrite ^/$ /index.php?link1=home;
  rewrite "^/forum/members/([a-zA-Z]{0,1})(/?|)$" /index.php?link1=forum-members-byname&char=$1;
  if (!-e $request_filename){
    rewrite ^/setting/([A-Za-z0-9_-]+)$ /index.php?link1=setting&page=$1;
  }
  if (!-e $request_filename){
    rewrite ^/@([^\/]+)(\/|)$ /index.php?link1=timeline&u=$1;
  }
  if (!-e $request_filename){
    rewrite ^/([A-Za-z0-9_]+)/([^\/]+)(\/|)$ /index.php?link1=timeline&u=$1&type=$2;
  }
  if (!-e $request_filename){
    rewrite ^/([^\/]+)(\/|)$ /index.php?link1=timeline&u=$1;
  }
}

location /setting {
    rewrite ^/setting/([A-Za-z0-9_-]+)$ /index.php?link1=setting&page=$1;
  rewrite ^/setting/([A-Za-z0-9_]+)/([A-Za-z0-9_-]+)$ /index.php?link1=setting&user=$1&page=$2;
}

location /admin {
  rewrite ^/admin-cp$ /admincp.php;
  rewrite ^/admin-cp/(.*)$ /admincp.php?page=$1;
  rewrite ^/admin/ads/edit/(\d+)(/?|)$ /index.php?link1=manage-ads&id=$1;
}

location = /admincp {
  rewrite ^(.*)$ /admincp.php;
}

location /admincp {
  rewrite ^/admincp/(.*)$ /admincp.php?page=$1;
}

location /adminPages/ {
  alias /admin-panel/;
}

location /start {
  rewrite ^/start-up(/?|)$ /index.php?link1=start-up;
}

location /saved {
  rewrite ^/saved-posts/(.*)$ /index.php?link1=saved-posts;
  rewrite ^/saved-posts(/?|)$ /index.php?link1=saved-posts;
}

location /unusual {
  rewrite ^/unusual-login(/?|)$ /index.php?link1=unusual-login;
}

location /activated {
  rewrite ^/activated/(.*)$ /index.php?link1=activate&link2=$1;
}

location /search {
  rewrite ^/search(/?|)$ /index.php?link1=search;
  rewrite ^/search/([^\/]+)(\/|)$ /index.php?link1=search&query=$1;
}

location /ads {
  rewrite ^/ads-create$ /index.php?link1=ads-create;
  rewrite ^/ads(/?|)$ /index.php?link1=ads;
  rewrite ^/ads/create(/?|)$ /index.php?link1=create-ads;
  rewrite ^/ads/edit/(\d+)(/?|)$ /index.php?link1=edit-ads&id=$1;
  rewrite ^/ads/chart/(\d+)(/?|)$ /index.php?link1=chart-ads&id=$1;
}

location /app {
  rewrite ^/app/([^\/]+)(\/|)$ /index.php?link1=app&app_id=$1;
}

location /messages {
  rewrite ^/messages/([^\/]+)(\/|)$ /index.php?link1=messages&user=$1;
  rewrite ^/messages(/?|)$ /index.php?link1=messages;
}

location /terms {
  rewrite ^/terms/([^\/]+)(\/|)$ /index.php?link1=terms&type=$1;
}

location /video {
  rewrite ^/video-call/([^\/]+)(\/|)$ /index.php?link1=video-call&call_id=$1;
  rewrite ^/video-call-api/([^\/]+)(\/|)$ /index.php?link1=video-call-api&call_id=$1;
}

location /post {
  rewrite ^/post/([^\/]+)(\/|)$ /index.php?link1=post&id=$1;
}

location /game {
  rewrite ^/game/([^\/]+)(\/|)$ /index.php?link1=game&id=$1;
}

location /upgraded {
  rewrite ^/upgraded(/?|)$ /index.php?link1=upgraded;
}

location /get_news_feed {
  rewrite ^/get_news_feed(/?|)$ /index.php?link1=get_news_feed;
}

location /games {
  rewrite ^/games(/?|)$ /index.php?link1=games;
}

location /new {
  rewrite ^/new-game(/?|)$ /index.php?link1=new-game;
  rewrite ^/new-product(/?|)$ /index.php?link1=new-product;
}

location /go {
  rewrite ^/go-pro(/?|)$ /index.php?link1=go-pro;
}

location = /oops {
  rewrite ^(.*)$ /index.php?link1=oops;
}

location /user {
  rewrite ^/user-activation$ /index.php?link1=user-activation;
}

location /hashtag {
  rewrite ^/hashtag/([^\/]+)(\/|)$ /index.php?link1=hashtag&hash=$1;
}

location /follow {
  rewrite ^/follow-requests/(.*)$ /index.php?link1=follow-requests;
}

location /p {
  rewrite ^/p/([^\/]+)(\/|)$ /index.php?link1=page&p=$1;
}

location /g {
  rewrite ^/g/([^\/]+)(\/|)$ /index.php?link1=group&g=$1;
}

location /home {
  rewrite ^/home(/?|)$ /index.php?link1=home;
}

location /404 {
  rewrite ^/404(/?|)$ /index.php?link1=404;
}

location /welcome {
  rewrite ^/welcome(.*)$ /index.php?link1=welcome last;
}

location /register {
  rewrite ^/register(/?|)$ /index.php?link1=register last;
}

location /confirm {
  rewrite ^/confirm-sms(/?|)$ /index.php?link1=confirm-sms last;
  rewrite ^/confirm-sms-password(/?|)$ /index.php?link1=confirm-sms-password last;
}

location /forgot {
  rewrite ^/forgot-password(/?|)$ /index.php?link1=forgot-password last;
}

location /activate {
  rewrite ^/activate(/?|)$ /index.php?link1=activate;
}

location /pages {
  rewrite ^/pages(/?|)$ /index.php?link1=pages;
}

location /liked {
  rewrite ^/liked-pages(/?|)$ /index.php?link1=liked-pages;
}

location /joined_groups {
  rewrite ^/joined_groups(/?|)$ /index.php?link1=joined_groups;
}

location /suggested {
  rewrite ^/suggested-pages(/?|)$ /index.php?link1=suggested-pages;
  rewrite ^/suggested-groups(/?|)$ /index.php?link1=suggested-groups;
}

location /groups {
  rewrite ^/groups(/?|)$ /index.php?link1=groups;
}

location /create {
  rewrite ^/create-group(/?|)$ /index.php?link1=create-group;
  rewrite ^/create-page(/?|)$ /index.php?link1=create-page;
  rewrite ^/create-album$ /index.php?link1=create-album;
  rewrite ^/create-album/([A-Za-z0-9_-]+)$ /index.php?link1=create-album&album=$1;
  rewrite ^/create-blog(/?|)$ /index.php?link1=create-blog;
  rewrite ^/create-app$ /index.php?link1=create-app;
}

location /logout {
  rewrite ^/logout(/?|)$ /index.php?link1=logout;
}

location /contact {
  rewrite ^/contact-us(/?|)$ /index.php?link1=contact-us;
}


location /albums {
  rewrite ^/albums(/?|)$ /index.php?link1=albums;
  rewrite ^/albums/([A-Za-z0-9_-]+)$ /index.php?link1=albums&user=$1;
}

location /album {
  rewrite ^/album/([A-Za-z0-9_-]+)$ /index.php?link1=album&id=$1;
}

location /page {
  rewrite ^/page-setting/([^\/]+)(\/|)$ /index.php?link1=page-setting&page=$1;
  rewrite ^/page-setting/([A-Za-z0-9_]+)/([A-Za-z0-9_-]+)$ /index.php?link1=page-setting&page=$1&link3=$2;
}

location /group {
  rewrite ^/group-setting/([^\/]+)(\/|)$ /index.php?link1=group-setting&group=$1;
  rewrite ^/group-setting/([A-Za-z0-9_]+)/([A-Za-z0-9_-]+)$ /index.php?link1=group-setting&group=$1&link3=$2;
}

location /edit {
  rewrite ^/edit-product/([A-Za-z0-9_]+)$ /index.php?link1=edit-product&id=$1;
  rewrite ^/edit-blog/(\d+)(/?|)$ /index.php?link1=edit-blog&id=$1;
}

location /products {
  rewrite ^/products(/?|)$ /index.php?link1=products;
  rewrite ^/products/([A-Za-z0-9_-]+)$ /index.php?link1=products&c_id=$1;
  rewrite ^/products/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)$ /index.php?link1=products&c_id=$1&sub_id=$2;
}

location /my {
  rewrite ^/my-products(/?|)$ /index.php?link1=my-products;
  rewrite ^/my-blogs(/?|)$ /index.php?link1=my-blogs;
}

location /site {
  rewrite ^/site-pages/(.*)$ /index.php?link1=site-pages&page_name=$1;
}

location /blogs {
  rewrite ^/blogs(/?|)$ /index.php?link1=blogs;
}

location /sharer {
  rewrite ^/sharer(/?|)$ /index.php?link1=sharer;
}

location /blog {
  rewrite ^/blog-category/(\d+)(/?|)$ /index.php?link1=blog-category&id=$1;
}

location /read {
  rewrite ^/read-blog/(.*)$ /index.php?link1=read-blog&id=$1;
}

location /app_api {
  rewrite ^/app_api(/?|)$ /index.php?link1=app_api;
}

location /api_request {
  rewrite ^/api_request(/?|)$ /index.php?link1=app_api;
}

location /authorize {
  rewrite ^/authorize(/?|)$ /index.php?link1=authorize;
}

location /poke {
  rewrite ^/poke(/?|)$ /index.php?link1=poke;
}

location /most_liked {
  rewrite ^/most_liked(/?|)$ /index.php?link1=most_liked;
}

location /jobs {
  rewrite ^/jobs(/?|)$ /index.php?link1=jobs;
}

location /common_things {
  rewrite ^/common_things(/?|)$ /index.php?link1=common_things;
}

location /funding {
  rewrite ^/funding(/?|)$ /index.php?link1=funding;
}

location /my_funding {
  rewrite ^/my_funding(/?|)$ /index.php?link1=my_funding;
}

location /create_funding {
  rewrite ^/create_funding(/?|)$ /index.php?link1=create_funding;
}

location /edit_fund {
  rewrite ^/edit_fund/(.*)$ /index.php?link1=edit_fund&id=$1;
}

location /show_fund {
  rewrite ^/show_fund/(.*)$ /index.php?link1=show_fund&id=$1;
}

location /live {
  rewrite ^/live(/?|)$ /index.php?link1=live;
}

location /memories {
  rewrite ^/memories(/?|)$ /index.php?link1=memories;
}

location /offers {
  rewrite ^/offers(/?|)$ /index.php?link1=offers;
}

location /nearby_shops {
  rewrite ^/nearby_shops(/?|)$ /index.php?link1=nearby_shops;
}

location /nearby_business {
  rewrite ^/nearby_business(/?|)$ /index.php?link1=nearby_business;
}

location /refund {
  rewrite ^/refund(/?|)$ /index.php?link1=refund;
}

location /advertise {
  rewrite ^/advertise(/?|)$ /index.php?link1=advertise;
}

location /checkout {
  rewrite ^/checkout(/?|)$ /index.php?link1=checkout;
}

location /purchased {
  rewrite ^/purchased(/?|)$ /index.php?link1=purchased;
}

location /orders {
  rewrite ^/orders(/?|)$ /index.php?link1=orders;
}

location /customer_order {
  rewrite ^/customer_order/(.*)$ /index.php?link1=customer_order&id=$1;
}

location /order {
  rewrite ^/order/(.*)$ /index.php?link1=order&id=$1;
}

location /reviews {
  rewrite ^/reviews/(.*)$ /index.php?link1=reviews&id=$1;
}

location /open_to_work_posts {
  rewrite ^/open_to_work_posts(/?|)$ /index.php?link1=open_to_work_posts;
}

location /banned {
  rewrite ^/banned(/?|)$ /index.php?link1=banned;
}

location /withdrawal {
  rewrite ^/withdrawal(/?|)$ /index.php?link1=withdrawal;
}

location /forum {
  rewrite ^/forum(/?|)$ /index.php?link1=forum;
  rewrite ^/forum/members(/?|)$ /index.php?link1=forum-members;
  rewrite ^/forum/search(/?|)$ /index.php?link1=forum-search;
  rewrite ^/forum/search-result/(/?|)$ /index.php?link1=forum-search-result;
  rewrite ^/forum/events(/?|)$ /index.php?link1=forum-events;
  rewrite ^/forum/help(/?|)$ /index.php?link1=forum-help;
}

location /forums {
  rewrite ^/forums/(\d+)(/?|)$ /index.php?link1=forums&fid=$1;
  rewrite ^/forums/add/(\d+)(/?|)$ /index.php?link1=forumaddthred&fid=$1;
  rewrite ^/forums/thread/(\d+)(/?|)$ /index.php?link1=showthread&tid=$1;
  rewrite ^/forums/thread/reply/(\d+)(/?|)$ /index.php?link1=threadreply&tid=$1;
  rewrite ^/forums/thread/quote/(\d+)(/?|)$ /index.php?link1=threadquote&tid=$1;
  rewrite ^/forums/thread/edit/(\d+)(/?|)$ /index.php?link1=editreply&tid=$1;
  rewrite ^/forums/user/threads(/?|)$ /index.php?link1=mythreads;
  rewrite ^/forums/user/threads/edit/(\d+)(/?|)$ /index.php?link1=edithread&tid=$1;
  rewrite ^/forums/user/messages(/?|)$ /index.php?link1=mymessages;
}

location /events {
  rewrite ^/events(/?|)$ /index.php?link1=events;
  rewrite ^/events/create-event(/?|)$ /index.php?link1=create-event;
  rewrite ^/events/edit/(\d+)/(/?|)$ /index.php?link1=edit-event&eid=$1;
  rewrite ^/events/my(/?|)$ /index.php?link1=my-events;
  rewrite ^/events/going(/?|)$ /index.php?link1=events-going;
  rewrite ^/events/invited(/?|)$ /index.php?link1=events-invited;
  rewrite ^/events/interested(/?|)$ /index.php?link1=events-interested;
  rewrite ^/events/past(/?|)$ /index.php?link1=events-past;
  rewrite ^/events/(\d+)(/?|)$ /index.php?link1=show-event&eid=$1;
}

location /movies {
  rewrite ^/movies(/?|)$ /index.php?link1=movies;
  rewrite ^/movies/genre/([A-Za-z-]+)(/?|)$ /index.php?link1=movies-genre&genre=$1;
  rewrite ^/movies/country/([A-Za-z-]+)(/?|)$ /index.php?link1=movies-country&country=$1;
  rewrite ^/movies/watch/(\d+)(/?|)$ /index.php?link1=watch-film&film-id=$1;
}

location /wallet {
  rewrite ^/wallet(/?|)$ /index.php?link1=wallet;
}

location /send_money {
  rewrite ^/send_money(/?|)$ /index.php?link1=send_money;
}

location /status {
  rewrite ^/status/create(/?|)$ /index.php?link1=create-status;
}

location /more {
  rewrite ^/more-status(/?|)$ /index.php?link1=more-status;
}

location /friends {
  rewrite ^/friends-nearby(/?|)$ /index.php?link1=friends-nearby;
}

location /api {
  rewrite ^/api(/?|)$ /api-v2.php;
  rewrite ^/api/([^\/]+)(\/|)$ /api-v2.php?type=$1;
}

location /_ {
  rewrite ^/_$ /requests.php;
}

location /graph {
  rewrite ^/graph-success$ /index.php?link1=graph-success;
}

location = /developers {
  rewrite ^(.*)$ /index.php?link1=developers;
}

location = /apps {
  rewrite ^(.*)$ /index.php?link1=apps;
}

location = /graph {
  rewrite ^(.*)$ /index.php?link1=graph;
}

location = /oauth {
  rewrite ^(.*)$ /index.php?link1=oauth;
}

location /boosted {
  rewrite ^/boosted-pages(/?|)$ /index.php?link1=boosted-pages;
  rewrite ^/boosted-posts(/?|)$ /index.php?link1=boosted-posts;
}


location /sources {
  deny all;
  return 404;
}
location /assets {
  deny all;
  return 404;
}
location /nodejs {
  deny all;
  return 404;
}
location /ads.txt {
}

Remove cache url

 Please open: \xhr\login.php

Find ?cache and remove it totally, remove only what is selected: https://prnt.sc/9APi9GRCTrgm


Line 95

$data['location'] = $wo['config']['site_url'];

Bests,

False url sitemap-index.xml

Manage your sitemaps with a sitemap index

If you have a sitemap that exceeds the size limits, you'll need to split up your large sitemap into multiple sitemaps such that each new sitemap is below the size limit. Once you've split up your sitemap, you can use a sitemap index file as a way to submit many sitemaps at once.

The XML format of a sitemap index file is very similar to the XML format of a sitemap file, and it's defined by the Sitemap Protocol. This means that all the sitemap requirements apply to sitemap index files also.

The referenced sitemaps must be hosted on the same site as your sitemap index file. This requirement is waived if you set up cross-site submission.

Sitemaps that are referenced in the sitemap index file must be in the same directory as the sitemap index file, or lower in the site hierarchy. For example, if the sitemap index file is at https://example.com/public/sitemap_index.xml, it can only contain sitemaps that are in the same or deeper directory, like https://example.com/public/shared/....

You can submit up to 500 sitemap index files for each site in your Search Console account. 


Welcome, ./assets/includes/functions_three.php

$sitemap->createSitemapIndex

Line 5283

$sitemap->createSitemapIndex($site . '/xml/', 'Today');

Remove /xml/ change to /

So like this

$sitemap->createSitemapIndex($site . '/', 'Today');