Bu question adresinden yola çıkarak, e-postaları ASP.NET.MVC adresinden e-postaların SPAM puanını azaltmak için göndermeye karar verdim, ancak bir yerde hatam var.C# içinde imzalama e-posta adresi #
Kodu: Ben http://www.isnotspam.com üzerine sonucunu kontrol
public void SendEmail(MailMessage mailMessage)
{
string domain = "kup-nemovitost.cz";
var message = MimeMessage.CreateFromMailMessage(mailMessage);
HeaderId[] headers = new HeaderId[] { HeaderId.From, HeaderId.Subject, HeaderId.Date };
DkimCanonicalizationAlgorithm headerAlgorithm = DkimCanonicalizationAlgorithm.Relaxed;
DkimCanonicalizationAlgorithm bodyAlgorithm = DkimCanonicalizationAlgorithm.Relaxed;
string dkimPath = Path.Combine(ConfigHelper.GetDataPath(), "DKIM");
string privateKey = Path.Combine(dkimPath, "kup-nemovitost.cz.private.rsa");
DkimSigner signer = new DkimSigner(privateKey, domain, "mail")
{
SignatureAlgorithm = DkimSignatureAlgorithm.RsaSha1,
AgentOrUserIdentifier = "@" + domain,
QueryMethod = "dns/txt",
};
message.Prepare(EncodingConstraint.SevenBit);
message.Sign(signer, headers, headerAlgorithm, bodyAlgorithm);
using (var client = new MailKit.Net.Smtp.SmtpClient())
{
client.Connect("localhost", 25, false);
client.Send(message);
client.Disconnect(true);
}
}
, çıktı takip ediyor:
DKIM check details:
----------------------------------------------------------
Result: invalid
ID(s) verified: [email protected]
Selector=mail
domain=kup-nemovitost.cz
DomainKeys DNS Record=mail._domainkey.kup-nemovitost.cz
Benim DNS kaydıdır:
@ IN TXT "v=dkim1; s=mail; p=migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqdnov2pxnjmghdpxw5wpypk1rf7 kxs+5ouvh6f0hraryncku6wbvq+xovbgxz1kuddcb/s9o8wquftxrlffniik3wbm qc+upm+ndloxcxwy0bb2iktbgnmndjiexm/z0npaviwzebr2k6vqdzbp+lmcuece bwasqgw2fki5ospb4qidaqab"
GÜNCELLEME:
Ben DNS kayıtlarında bazı sorunları gidermek ve ben hala benim ortak anahtar doğrulama sorununu yüz dkimcore.org
daha iyi çevrimiçi denetleyicisi bulduk. PuttyGen (ppk) kullanarak 1024 RSA oluşturdum ve RSA formatına dönüştürdüm. PuTTYgen orijinal dosyasıdır:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20170606"
AAAAB3NzaC1yc2EAAAABJQAAAIEAiyEwx+Idlf/Qp2fTYrQMwV3MuF9W7yaKDMHk
hzoH+MqWKtNDngQoJcmbyrkMeF0VLYo246ma3gPZh9cDL7i8ygOYKagbyUjgtZFz
y+et0tY/+G/IZNaHiQp0QuG/J71uZrl4Jlgkq+0s5bZxpRR45aRpcG1HQMIm6Ku7
lgmOt88=
---- END SSH2 PUBLIC KEY ----
Yani sadece DNS kaydına (yorumladı hatlar hariç) içerik kopyalamak ve denetleyicisi çıktı şu var: yorumlar kısmında anladım gibi
p= AAAAB3NzaC1yc2EAAAABJQAAAIEAiyEwx+Idlf/Qp2fTYrQMwV3MuF9W7yaKDMHkhzoH+MqWKtNDngQoJcmbyrkMeF0VLYo246ma3gPZh9cDL7i8ygOYKagbyUjgtZFzy+et0tY/+G/IZNaHiQp0QuG/J71uZrl4Jlgkq+0s5bZxpRR45aRpcG1HQMIm6Ku7lgmOt88=
This doesn't seem to be a valid RSA public key: RSA.xs:178: OpenSSL error: wrong tag at blib/lib/Crypt/OpenSSL/RSA.pm (autosplit into blib/lib/auto/Crypt/OpenSSL/RSA/new_public_key.al) line 91.
Tamam, bir yerde bir hata var. Gerçekte olana göre istenen davranış nedir? – Nkosi
İstenilen davranış, http://www.isnotspam.com'un e-postanın DKIM ile sonuç geçişi ile imzalandığını doğrulamasıdır. – qub1n
SendGrid gibi hizmetler, e-posta alanınızın spam kutularında olmaması nedeniyle yükün çoğunu üstlenecek oldukça cömert bir serbest kademeye sahiptir. –