Configuration SPF

Nous avons observé des délais dans la transmission des emails sur notre Google Apps.
Gmail nous a envoyé quelques messages de ce type pour nous prévenir du problème :

This is an automatically generated Delivery Status Notification
 THIS IS A WARNING MESSAGE ONLY.
 YOU DO NOT NEED TO RESEND YOUR MESSAGE.
 Delivery to the following recipient has been delayed:
 charles@fitnext.com
 Message will be retried for 1 more day(s)
 Technical details of temporary failure:
 DNS Error: 92610055 DNS type 'mx' lookup of fitnext.com responded with code SERVFAIL

Nous n’avons pas changé récemment quoi que ce soit dans la configuration DNS/MX, donc c’était assez étrange de retrouver subitement ce problème.

Vérification de la configuration MX

Google propose un outil très pratique pour vérifier votre configuration MX, la nôtre n’était pas au top sur tous les points. L’aide en ligne Google explique clairement comment valider chaque point.

L’outil propose une analyse de ce type :

Capture d’écran 2016-06-14 à 09.50.05

J’ai appliqué les différents conseils proposés par Google et tout semble rentré dans l’ordre!

Je suis aussi tombé sur cette page qui permet vérifier les entrées SPF d’un domaine.

Vérification des en-tête des messages

Aussi Google propose un outil d’analyse d’en-tête de message qui produit une sortie du  type :

email-headers-checking-tool

On voit bien notre problème avec la livraison d’un message après 18h…

 

Nginx: redirections en masse

Lors de la migration d’un blog, j’ai eu besoin de gérer des redirections permanentes (301) pour un grand nombre d’urls, entre 600 et 700 pour être précis. Malheureusement ces redirections ne peuvent être factorisées avec des patterns, ce sont que des urls uniques.

Pour ne pas charger la configuration de votre vhost dans nginx, vous pouvez utiliser le mot clé include pour stocker vos redirections dans un fichier à part.

Dans mon cas, la configuration nginx ressemble alors à ça :

  • /etc/nginx/site-enabled/v3.conf
server {
    listen 443 ssl;
    [...]
    include /etc/nginx/conf.d/v3.redirects
    [...]
    location / {
    [...]
    }
}

 

  • /etc/nginx/conf.d/v3.redirects
[...]
rewrite ^/le-stress(.*) /conseils/relaxation/le-stress$1 permanent;
[...]

Le fichier v3.redirects a été généré avec un script, il fait 625 lignes.

Cela fonctionne très bien pour un nombre limité de redirects. Si vraiment vous deviez gérer un nombre important de redirections, regardez du côté de lua et redis.

 

Android: centrer un texte horizontalement et verticalement dans un TextView

Par défaut, le texte contenu dans un TextView est aligné en haut à gauche.

android-centrer-textview

Pour le centrer, que ce soit verticalement et/ou horizontalement, il faut utiliser la propriété gravity.

Centrer verticalement

android-centrer-textview-vertical

Dans le xml, cela se traduit par la propriété suivante :

android:gravity="center_vertical"

Centrer verticalement et horizontalement

android-centrer-textview-vertical-horizontal

Dans le xml, cela se traduit par la propriété suivante :

android:gravity="center"

Pour le faire directement dans le code :

MyTextView.setGravity(Gravity.CENTER)