Alle bogstaver i én kasse. Postsamler (gør simple ting svære)

Jeg fortsætter en række artikler om funktionen ved at indsamle post til én hovede-mail-boks fra andre, der er placeret på alle posttjenester. I den forrige artikel talte vi om at konfigurere postindsamling på Yandex-tjenesten, hvilket er nemt at gøre. Og i denne artikel vil jeg tale om, hvordan man gør det samme i en anden, ikke mindre populær tjeneste i dag - Mail.ru, hvor mange mennesker stadig beholder deres primære e-mail-boks, på trods af at for eksempel Gmail-tjenesten har klare fordele (vi har talt om opsætning af mailindsamling i Gmail). Men som man siger, for hver sin egen og nogle gange er det bare et spørgsmål om vane :)

Opsætning af postindsamling i Mail.ru-tjenesten er lige så let som for eksempel i Yandex. Bare et par enkle trin og alt vil være klar, mail vil begynde at flyde fra de postkasser, du har tilsluttet til en på Mail.

Processen med at konfigurere postindsamling i Mail.ru-tjenesten

Først og fremmest skal du logge ind på din e-mail-konto, hvor du vil indsamle e-mail fra andre e-mail-konti og åbne sektionen "Breve" (det er der, hvor e-mailen er placeret).

Nu skal du gå til dine mailindstillinger. For at gøre dette skal du klikke på knappen "Mere" øverst og vælge "Indstillinger".

Du kan også åbne indstillingerne ved at klikke på din e-mailadresse i øverste højre hjørne og derefter vælge "Mailindstillinger".

Gå derefter til sektionen "Mail fra andre postkasser".

Det første vindue til tilslutning af en anden e-mail-boks åbnes.

Lad mig minde dig om, at den anden e-mail-boks, hvorfra du vil samle breve, kan findes på enhver tjeneste, ikke kun Mail!

I eksemplet til denne artikel vil vi overveje at forbinde en postkasse placeret på Yandex-tjenesten.

I dette vindue skal du angive login og adgangskode for den mail, du opretter forbindelse til. Hvis den postkasse, du forbinder, er placeret på en af ​​de tjenester, der er angivet nedenfor, skal du klikke på den tilsvarende knap øverst, indtaste den fulde adresse på den post, du tilslutter, nedenfor og klikke på "Tilføj postkasse":

Hvis den postkasse, du ønsker at forbinde, er placeret på en anden tjeneste (ikke fra listen ovenfor), skal du klikke på knappen "Anden post" øverst, hvorefter du skal indtaste den fulde adresse på den post, du vil forbinde, adgangskoden til det, og klik på "Tilføj postkasse".

Hvis du endnu ikke har logget på din anden e-mail-konto i denne browser, som du opretter forbindelse til, så skal du i det næste vindue indtaste dit login og adgangskode til den. Eksempel:

Klik derefter på "Tillad" (du tillader mail på Mail.ru at bruge nogle data fra den tilsluttede anden mail).

Hvis alt gik som forventet, vil du modtage en besked om, at samleren er tilføjet. Nu skal du vælge, hvilken mappe du vil samle post i: i en specielt oprettet mappe ved navnet på den mail, du tilsluttede, eller i din indbakke. Det er op til dig at bestemme, men efter min mening er det mere praktisk, når post indsamlet fra en anden postkasse går ind i en separat mappe. På en eller anden måde kan dette konfigureres ved at filtrere bogstaver.

Valgmuligheden "Anvend filtre på modtagne e-mails" betyder, at alle de filtre, som du allerede har konfigureret i din hovedmail på Mail, også vil gælde for post modtaget fra den tilsluttede postkasse. Det er op til dig at slå det fra eller ej.

Det er det, postsamleren er sat op! Nu, inden for et par minutter (nogle gange er processen forsinket, hvis der er mange breve på den tilsluttede postkasse), vil post fra den anden postkasse begynde at strømme ind i din primære.

På denne måde kan du forbinde lige så mange mails, som du har lyst til at indsamle.

Hvordan ser man alle breve fra tilsluttet post separat?

Du kan se breve separat, hvis du ved opsætning af postindsamling i Mail har angivet, at breve skal samles i en separat mappe med navnet på den tilsluttede postkasse. I dette tilfælde skal du åbne denne mappe og se alle de nødvendige bogstaver. Eksempel:

Hvis du ikke straks har oprettet modtagelsen af ​​breve i en separat mappe, kan du til enhver tid oprette den ved at åbne den oprettede samler (mere om dette nedenfor).

Konfiguration af den oprettede postsamler, deaktivering og aktivering af den

Nogle gange skal du muligvis foretage ændringer i indstillingerne for den postsamler, du har oprettet, samt deaktivere den eller aktivere den igen.

Dette kan gøres samme sted i afsnittet "Indstillinger" - "Mail fra andre postkasser", hvor du oprindeligt oprettede din brevsamler.

Her vil du se den oprettede vandhane. Hvis du har brug for at deaktivere den eller aktivere den igen, skal du klikke på den tilsvarende kontakt. Hvis du har brug for at åbne opsamlerindstillingerne, skal du klikke på "Rediger".

Og de samme indstillinger for postsamleren åbnes som på oprettelsesstadiet (se).

Selvfølgelig skal alt paralleliseres. Det er her mit yndlingsbibliotek, TPL DataFlow, kommer i spil.

Vi indsamler post via POP3. Alle de "fashionable ting" af IMAP er unødvendige i denne opgave - du skal hente kildekoden til brevet så hurtigt og nemt som muligt og slette det på serveren. POP3 er nok her for øjnene. Vi bruger OpenPop.NET.

Lad os som en mulighed tilføje overvågning til Zabbix. (Vi kommer til at arbejde 24/7 og levere den beundrede fart - det skal vi holde øje med).

Lad os gå

Lad os oprette en almindelig konsolapplikation. Åbn NuGet-konsollen og installer alle de nødvendige pakker:

Installationspakke Nlog Installationspakke OpenPop.NET Installationspakke TopShelf Installationspakke Microsoft.TPL.DataFlow
Gå til projektmappen, opret App.Debug.config og App.Release.config. Vi aflæser projektet fra studiet, åbner dets kode (I det følgende TopCrawler.csproj). Tilføj til konfigurationssektionen:

Konfigurationer

App.config App.config


Og nedenfor er dit eget mål for MSBuild:

Transformer mål

$(TargetFileName).config


Personligt er jeg vant til at tilføje transformation af konfigurationer til separate miljøer på præcis denne måde - den gammeldags måde.
For nemheds skyld tilbyder jeg stærkt-type konfigurationer. En separat klasse vil læse konfigurationen. (Du kan diskutere de teoretiske aspekter af en sådan løsning i kommentarerne). Konfigurationer, logfiler, overvågning er en glimrende grund til at implementere Singleton-mønsteret.

Vi opretter en mappe af samme navn i projektet (der skal være orden). Indeni opretter vi 3 klasser - Config, Logger, Zabbix. Vores logger:

Logger

statisk klasse Logger ( offentlig statisk NLog.Logger Log ( get; privat sæt; ) offentlig statisk NLog.Logger Archive ( get; privat sæt; ) static Logger() ( Log = LogManager.GetLogger("Global"); Archive = LogManager. GetLogger("Arkivator");


Overvågning med Zabbix fortjener et separat indlæg, så jeg vil bare efterlade klassen, der implementerer agenten:

Zabbix

navneområde TopCrawler.Singleton ( ///

/// Singleton: zabbix afsender klasse /// statisk klasse Zabbix ( offentlig statisk ZabbixSender Sender ( get; privat sæt; ) static Zabbix() ( Sender = new ZabbixSender(Config.ZabbixServer, Config.ZabbixPort); ) ) struct ZabbixItem ( offentlig streng Host; offentlig strengnøgle; offentlig strengværdi ; ) klasse ZabbixSender ( intern struct SendItem ( // ReSharper deaktiver InconsistentNaming - Zabbix er versalfølsom public string host; public string-værdi; public string clock; // ReSharper restore InconsistentNaming ) #pragma warning disable 0649 internal struct ZabbixResponse ( public string Response ; public string Info ) #pragma warning restore 0649 #region --- public const string DefaultHeader = "ZBXD\x01"; --- Felter --- private skrivebeskyttet DateTime _dtUnixMinTime = DateTime.SpecifyKind(new DateTime(1970, 1, 1), DateTimeKind.Utc); privat skrivebeskyttet streng _zabbixserver; privat skrivebeskyttet int _zabbixport; (lstData.Count); values.AddRange(lstData.Select(itm => new SendItem (host = itm.Host, key = itm.Key, value = itm.Value, clock = Math.Floor((DateTime.Now.ToUniversalTime() - _dtUnixMinTime). TotalSeconds).ToString(CultureInfo.InvariantCulture) )));< size); } #endregion } }


var json = serializer.Serialize(new ( request = SendRequest, data = values.ToArray() ));

var header = Encoding.ASCII.GetBytes(DefaultHeader);



Så værten og porten, hvor den forbinder, brugeren og adgangskoden - alt er klart her. Dernæst er boksens type. Lad os sige, at tjenesten bruges af marketing (såvel som andre afdelinger). De har postkasser, hvor der sendes autosvar på mails, samt FBL-spamrapporter. Selve postkassen kategoriserer allerede brevet, så til sådanne situationer sætter vi straks postkassetypen. DataFlow-indstillingerne bliver tydeligere senere, når vi begynder at oprette objekter. Her vil vi have vores egne sektioner i konfigurationen. Der er en masse manualer om, hvordan man gør dette, så jeg vil bare vise dig resultatet:

Definition af typer

#region --- Typer --- statisk klasse MailboxType ( public const string Bo = "bo"; public const string Crm = "crm"; public const string Fbl = "fbl"; public const string Bounce = "bounce"; ) klasse MailboxInfo ( offentlig streng Type ( get; sæt; ) offentlig streng Værtsnavn ( get; sæt; ) offentlig streng Bruger ( get; sæt; ) offentlig streng Adgangskode ( get; sæt; ) offentlig int Port ( get; sæt; ) ) klasse DataBlockOptions ( public int Maxdop ( get; set; ) public int BoundedCapacity ( get; set; ) public DataBlockOptions() ( Maxdop = 1; BoundedCapacity = 1; ) ) #endregion


Oprettelse af sektioner

///

/// Custom config sektion /// public class CustomSettingsConfigSection: ConfigurationSection ( public CredentialsCollection CredentialItems ( get ( return base["CredentialsList"] som CredentialsCollection; ) ) public DataBlockOptionsCollection DataFlowOptionsItems ( get (returbase["DataFlowOptions DataBlock Option")) som CredentialsCollection;


///

/// Brugerdefineret samling - legitimationsliste /// public class CredentialsCollection: ConfigurationElementCollection, IEnumerable ( protected override ConfigurationElement CreateNewElement() ( return new CredentialsElement(); ) protected override object GetElementKey(ConfigurationElement element) ( return ((CredentialsElement)element).Brugernavn; ) public CredentialsElement this ( get (retur BaseGet(sElement) som Credential;) ) offentlig ny IEnumerator < Count; i++) { yield return BaseGet(i) as CredentialsElement; } } } /// /// Brugerdefinerede legitimationsoplysninger element /// public class CredentialsElement: ConfigurationElement ( offentlig streng Værtsnavn ( get ( returner base["værtsnavn"] som streng; ) ) public string Brugernavn ( get ( returner base["brugernavn"] som streng; ) ) offentlig streng Adgangskode ( get ( returner base ["adgangskode"] som streng ) ) offentlig streng Type ( get ( returner base["type"] som streng; ) ) public string Port ( get ( returner base["port"] som streng; ) ) ) /// /// Tilpasset indsamling - Liste over datablokeringsmuligheder /// public class DataBlockOptionsCollection: ConfigurationElementCollection, IEnumerable ( protected override ConfigurationElement CreateNewElement() ( return new DataBlockOptionsElement(); ) protected override object GetElementKey(ConfigurationElement element) ( return ((DataBlockOptionsElement)element).Name; ) public CredentialsElement this ( get ( return BaseGet(index) as Credentials)Element; ) offentlig ny IEnumerator GetEnumerator() ( for (var i = 0; i< Count; i++) { yield return BaseGet(i) as DataBlockOptionsElement; } } } /// /// Custom DataBlock-indstillingselement /// public class DataBlockOptionsElement: ConfigurationElement ( offentlig streng Navn ( get ( returnere base["navn"] som streng; ) ) public string Maxdop ( get ( returnere base["maxdop"] som streng; ) ) public string BoundedCapacity ( get ( returnere base ["boundedcapacity"] som streng;


Jeg vil ikke skrive den fulde implementering af konfigurationen, det antages, at de parametre, vi har brug for, vil blive tilføjet der under udviklingsprocessen.

Lad os læse vores brugerdefinerede indstillinger som dette:

Læsning

offentlig liste CredentialsList ( få; privat sæt; ) offentlig ordbog DataFlowOptionsList ( get; private set; ) ... static Config() ( prøv ( var customConfig = (CustomSettingsConfigSection)ConfigurationManager.GetSection("CustomSettings"); //Få postkasser foreach (var element i customConfig.CredentialItems) Credential(s) new MailboxInfo (Værtsnavn = item.Hostname, Port = Convert.ToInt32(item.Port), User = item.Username, Type = item.Type, Password = item.Password )); customConfig.DataFlowOptionsItems) DataFlowOptionsList.Add(item.Name, new DataBlockOptions ( Maxdop = Convert.ToInt32(item.Maxdop), BoundedCapacity = Convert.ToInt32(item.BoundedCapacity) ) ) catch (Exception.Log. Fa Logger. "Fejl ved læsning af konfiguration: (0)", ex.Message;


På en eller anden måde bliver det meget langt, og vi er ikke engang nået til den mest interessante del.

Lad os springe TopShelf-selen, ydeevnetællere og kommunikationen med databasen over for nu og komme i gang! Vi skaber Crawler-klassen - kernen. Lad os først læse e-mailen:

privat flygtig bool _stopPipeline;
... public void Start() ( do ( var getMailsTasks = _config.CredentialsList.Select(credentials => Task.Run(() => GetMails(legitimationsoplysninger))).ToList(); foreach (var opgave i getMailsTasks) opgave .Wait(); Thread.Sleep (2000); blevet stoppet af bruger"); )

Det var her, dovenskaben tog sit præg, og jeg besluttede mig for ikke at genere - hvis der er omkring 20-30 kasser, kan du køre en opgave for hver enkelt og ikke bekymre dig om antallet af tråde. (Jeg tillader dig at kaste tomater.)

Lad os gå videre til selve læsningen:
Private void GetMails(MailboxInfo info) ( prøv ( ved at bruge (var client = new Pop3Client()) (

Lad os straks beregne tidspunkterne for adgang til postkassen - det vil være nyttigt til at diagnosticere netværket og serverbelastningen.
//Get Zabbix metrics var stopwatch = new Stopwatch();

stopur.Start();< count; i++) { try { var mailInfo = new MessageInfo { IsSpam = false, Mail = client.GetMessage(i + 1), Type = MessageType.UNKNOWN, Subtype = null, Recipient = null, Mailbox = info }; Logger.Log.Debug("Download message from "{0}". Size: {1}b", info.User, mailInfo.Mail.RawMessage.Length);
//Hent mail count client.Connect(info.Hostname, info.Port, false);

client.Authenticate(info.User, info.Password);
stopur.Stop();

Sender data til Zabbix. Det er enkelt - vi angiver værtsnavnet (som det er indtastet i Zabbix), nøglen (igen, strengt taget som i Zabbix) og strengværdien.

//Send det til Zabbix Zabbix.Sender.SendData(nyt ZabbixItem ( Host = Config.HostKey, Key = info.Type + Config.TimingKey, Value = stopwatch.ElapsedMilliseconds.ToString() ));

Logger.Log.Debug("Send [(0)] timing til Zabbix: forbundet til "(1)" som "(2)", timing (3)ms", info.Type, info.Hostname, info.User, stopur.ElapsedMilliseconds);



var count = client.GetMessageCount();

//Gem hver mail i arkivet Logger.Log.Debug("Arkiv meddelelse");
Logger.Archive.Info(Functions.MessageToString(mailInfo.Mail));

) catch (Exception ex) ( Logger.Log.Error("Parse email error: (0)", ex.Message); Functions.ErrorsCounters.Increment(); //Arkiv mail alligevel Logger.Log.Debug("Arkiv meddelelse "); Logger.Archive.Info(Encoding.Default.GetString(client.GetMessageAsBytes(i + 1))); ) if (_config.DeleteMail) client.DeleteMessage(i + 1); if (_stopPipeline) break; ();
) Logger.Log.Debug("Udført med "(0)"", info.User);

) ) catch (Exception ex) ( Logger.Log.Error("Generel fejl - type: (0), besked: (1)", ex, ex.Message); Functions.ErrorsCounters.Increment(); ) )

Her brugte vi statiske fejltællere (efter postkassetype), hvor ErrorsCounters er:


Offentlig statisk ordbog

ErrorsCounters = ny ordbog

Og selve tællerne kan gøres sådan:

Counter.cs klasse Tæller ( privat lang _tæller; offentlig tæller() ( _tæller = 0; ) public void Increment() ( Interlocked.Increment(ref _counter); ) public long Read() ( return _counter; ) public long Refresh() ( return Interlocked .Exchange(ref _counter, 0 ) public void Tilføj (lang værdi) (Interlocked.Add(ref _counter, value); ) public void Set(lang værdi) (Interlocked.Exchange(ref _counter, value) ; ) ) Lad os gå videre til at skabe pipeline. Lad os sige, at vi har bokse, hvor autosvar strømmer ind. Sådanne breve skal analyseres (hvilken slags auto-svar er, fra hvem, for hvilken postliste osv.) og lægge resultatet i et lager (DB). Lad os sige, at der er kasser, hvor FBL-rapporter falder. Vi lægger straks sådanne breve ind i databasen. Vi betragter alle andre breve som "nyttige" - de skal tjekkes for spam og sendes til et eksternt system, for eksempel CRM. Som du allerede forstår, overvejer dette eksempel hovedsageligt brugen af ​​indsamleren til marketingopgaver - indsamling af statistik om postlevering, information om spam. Så vi har besluttet os for arbejdsgangen. Vi erklærer de nødvendige blokke i Crawler-klassen: Class MessageInfo ( public bool IsSpam ( get; set; ) public Message Mail ( get; set; ) public string Subtype ( get; set; ) public string Modtager ( get; set; ) public MessageType Type ( get; set; ) public MailboxInfo Mailbox ( get; set; ) ) klasse Crawler ( //Pipeline private TransformBlock _addToFblDataBlock; privat ActionBlock
_addToBounceDataBlock;

... Vi opretter en initialiseringsmetode og opretter pipelineblokke (for at initialisere blokkene bruger vi vores vidunderlige sektioner fra konfigurationerne): Offentlig void Init() ( //*** Opret pipeline *** //Opret TransformBlock for at få beskedtype var blockOptions = _config.GetDataBlockOptions("_sortMailDataBlock"); _sortMailDataBlock = new TransformBlock (mail => SortMail(mail), nye ExecutionDataflowBlockOptions ( MaxDegreeOfParallelism = blockOptions.Maxdop, BoundedCapacity = blockOptions.BoundedCapacity )); //Opret TransformBlock for at filtrere spam blockOptions = _config.GetDataBlockOptions("_spamFilterDataBlock"); _spamFilterDataBlock = ny TransformBlock (mail => FilterSpam(mail), nye ExecutionDataflowBlockOptions ( MaxDegreeOfParallelism = blockOptions.Maxdop, BoundedCapacity = blockOptions.BoundedCapacity )); //Opret TransformBlock for at sortere afvisninger blockOptions = _config.GetDataBlockOptions("_checkBounceDataBlock");
Vi samler transportøren i overensstemmelse med vores diagram:

//*** Byg pipeline *** _sortMailDataBlock.LinkTo(_spamFilterDataBlock, info => info.Type == MessageType.GENERAL); _sortMailDataBlock.LinkTo(_addToFblDataBlock, info => info.Type == MessageType.FBL); _sortMailDataBlock.LinkTo(_checkBounceDataBlock, info => info.Type == MessageType.BOUNCE);
_sortMailDataBlock.LinkTo(DataflowBlock.NullTarget

(), info => info.Type == MessageType.UNKNOWN); /*STUB*/ _checkBounceDataBlock.LinkTo(_identifyDataBlock);.

_identifyDataBlock.LinkTo(_addToBounceDataBlock);
_spamFilterDataBlock.LinkTo(_addToCrmDataBlock, info => !info.IsSpam);

_spamFilterDataBlock.LinkTo(DataflowBlock.NullTarget

public void Start() ( do ( var getMailsTasks = _config.CredentialsList.Select(credentials => Task.Run(() => GetMails(legitimationsoplysninger))).ToList(); foreach (var opgave i getMailsTasks) task.Wait( ); Thread.Sleep(2000); while (!_stopPipeline); //Stop pipeline - vent på færdiggørelsen af ​​alle endepunkter ("Rørledningen er blevet stoppet af brugeren");


Lad os gå videre til de delegerede.
Sortering... Nå, lad os sige, at alt er enkelt for os (vi kan altid gøre det mere kompliceret):

Private MessageInfo SortMail(MessageInfo mail) ( switch (mail.Mailbox.Type) ( case MailboxType.Crm: mail.Type = MessageType.GENERAL; break; case MailboxType.Bounce: mail.Type = MessageType.BOUNCE; break; case MailboxType. Fbl: mail.Type = MessageType.FBL pause;
Spam filter. Dette er til hjemmearbejde - brug SpamAssassin.
Her er din delegerede:

Private MessageInfo FilterSpam(MessageInfo mail) ( //TODO: Add SpamAssassin logic return mail;)
Og klasser til at arbejde med SpamAssassin API (link til projekt).
Og vi går videre til at analysere bogstaver. Vi analyserer automatiske svar. Det er her MEF kommer ind i billedet.
Vi laver et projekt (dll) med grænseflader til vores plugins (Lad os kalde det Interfaces).
Tilføjelse af en grænseflade:

Offentlig grænseflade ICondition ( string Check(Message mimeMessage); ) offentlig grænseflade IConditionMetadata ( Type Type ( get; ) )
Og... det er det. Vores TopCrawler afhænger af dette projekt, og plugin-projektet vil også bruge det.
Lad os oprette et nyt projekt (også en dll), kald det Betingelser.
Lad os tilføje automatiske svartyper:

#region --- Typer --- statisk klasse BounceType ( public const string Full = "BounceTypeFull"; public const string Timeout = "BounceTypeTimeout"; public const string Refused = "BounceTypeRefused"; public const string NotFound = "BounceTypeNotFound"; public const string Inactive = "BounceTypeInactive"; public const string OutOfOffice = "BounceTypeOutOffice"; public const string HostNotFound = "BounceTypeHostNotFound";
Og klasserne, der implementerer vores grænseflade:

Offentlig klasse ConditionNotFound1: ICondition ( public string Check(Message mimeMessage) ( if (!mimeMessage.MessagePart.IsMultiPart) returner null; const string pattern = "Diagnostic-Code:.+smtp.+550"; var regexp = new Regex(pattern , RegexOptions.IgnoreCase); return mimeMessage.MessageParts.Any(part => part.ContentType.MediaType == "message/delivery-status" && regexp.IsMatch(part.GetBodyAsText())) . offentlig klasse ConditionTimeout2: ICondition (retur BounceType.Timeout;) ...
Som du har bemærket, handler det om egenskaber. Ved at bruge dem vil plugins blive indlæst.
Lad os vende tilbage til vores projekt og indlæse plugins:

Class Crawler ( ... //Plugins offentlige IEnumerable > BounceTypeConditions ( get; set; ) private void LoadPlugins() ( try ( var container = new CompositionContainer(new DirectoryCatalog(_config.PluginDirectory), true); container.ComposeParts(this); ) catch (Exception ex) ( Logger.Log .Error("Kan ikke indlæse plugins: (0)", f.eks. Message) ) ...
Vi trækker LoadPlugins i vores klasses konstruktør. Jeg vil ikke forklare i detaljer om downloadmekanismen - Google vil gøre et bedre stykke arbejde.

Lad os gå videre til vores Bounce type check-delegat. Betingelserne vil blive anvendt efter tur, indtil den første - udelukkelsesmetode - virker:

Private MessageInfo BounceTypeCheck(MessageInfo mailInfo) ( prøv ( foreach (var condition i BounceTypeConditions) ( var res = condition.Value.Check(mailInfo.Mail); if (res == null) fortsæt; mailInfo.Subtype = res; Logger.Log .Debug("Bounce type condition [(0)] udløst for besked [(1)]", condition.Metadata.Type, mailInfo.Mail.Headers.MessageId break (undtagelseseksempel) (Logger.Log .Error). ("Kunne ikke bestemme afvisningstype for besked "(0)": (1)", mailInfo.Mail.Headers.MessageId, ex.Message return mailInfo;
Så hvis et nyt logikmodul dukker op, skal du blot tilføje en ny klasse til projektet med plugins, der implementerer vores grænseflade og - voila! Jeg vil ikke vedhæfte et eksempel på det andet plugin til at bestemme afsenderen af ​​et brev - dette er allerede et langt indlæg (autosvaret blev genereret af serveren selv, så afsenderen skal også analyseres fra overskrifterne på bogstav).

Der er heller ikke noget usædvanligt ved at registrere resultaterne i databasen. For eksempel sådan her:

Private void AddToBounce(MessageInfo mail) ( prøv ( MailWH.BounceAdd(mail); Functions.ProcessedCounters.Increment(); Functions.Log.Debug("Send Bounce til MailWH"); ) catch (Exception ex) ( Functions.Log. Error("Fejl ved lagring af Bounce-meddelelse "(0)" til MailWH: (1)", mail.Mail.Headers.MessageId, ex.Message Functions.ErrorsCounters.Increment());

BounceAdd

public static long BounceAdd(MessageInfo message) ( using (var conn = new SqlConnection(ConnectionString)) using (var cmd = new SqlDataAdapter("BounceAdd", conn)) ( var body = message.Mail.FindFirstPlainTextVersion() == null ? message.Mail.FindFirstHtmlVersion().GetBodyAsText(): message.Mail.FindFirstPlainTextVersion().GetBodyAsText(); var outId = new SqlParameter("@ID", SqlDbType.BigInt) CommandType.StoredProcedure; cmd.SelectCommand.Parameters.Add(new SqlParameter("@RawMessage", message.Mail.RawMessage) cmd.SelectCommand.Parameters.Add(new SqlParameter("@Message", body)); SelectCommand.Parameters.Add(new SqlParameter("@Subject", message.Mail.Headers.Subject ?? "")); cmd.SelectCommand.Parameters.Add(new SqlParameter("@MessageID", message.Mail .Headers. MessageId ?? "")); cmd.SelectCommand.Parameters.Add(new SqlParameter("@AddressTo", message.Mail.Headers.To.Address ?? "")) cmd.SelectCommand.Parameters.Add ("@AddressFrom", message.Mail.Headers.From.Address ?? ""));


cmd.SelectCommand.Parameters.Add(ny SqlParameter("@DateRecieved", DateTime.Now));

cmd.SelectCommand.Parameters.Add(new SqlParameter("@BounceTypeSysName", (object)message.Subtype ?? DBNull.Value));

I denne tutorial lærte vi, at opgaven med at indsamle post måske ikke er så enkel. Den udviklede kerne giver dig mulighed for hurtigt at tilføje nye procestrin - DataFlow-blokke - uden at påvirke den eksisterende logik. Plugin-undersystemet giver dig mulighed for hurtigt at udvide script-lignende parsing-logik, og DataFlow selv paralleliserer alle beregninger (og vi har mulighed for fleksibelt at konfigurere multithreading til en specifik maskine). TopShelf giver os mulighed for at køre en tjeneste i både servicetilstand og konsoltilstand for lettere fejlfinding.

Pyh... Hvis du er interesseret, vil jeg fortælle dig, hvordan du sætter dette på skinnerne af Continuous Integration, opsætter auto builds og frigiver via VS Release Management.

Tags: Tilføj tags

Instruktioner

Log ind på din konto ved at følge følgende link http://gmail.com og indtaste dit brugernavn og adgangskode.

Klik på tandhjulsikonet i øverste højre hjørne af Konti og import. Gå derefter til blokken "Send e-mails som" og klik på linket "Tilføj din anden e-mailadresse".

I det nye vindue, der dukker op, skal du indtaste for- og efternavnet, hvori den e-mail, der tilføjes, er registreret, samt e-mailadressen. Klik på knappen "Næste fase".

Derefter vises en anmodning på skærmen, der spørger, hvordan man sender breve, når du bruger denne adresse - ved hjælp af Gmail-tjenesten eller mail-grænsefladen fra QIP. Det er tilrådeligt at angive Gmail, der er færre indstillinger, derfor vil der blive brugt mindre tid. Klik på knappen "Næste handling".

Det næste vindue giver dig besked om, at efter at have klikket på knappen "Send bekræftelse", skal du tjekke den angivne e-mail, så Gmail er sikker på, at e-mailadressen faktisk eksisterer. Klik på knappen og åbn din postkasse i en ny fane.

Gennemgå dine ulæste e-mails, og åbn e-mailen med titlen "Gmail-bekræftelse". Klik på linket for at bekræfte eksistensen af ​​denne e-mailadresse, eller kopier koden.

Hvis du kopierede koden, skal du indsætte den i det tomme felt i vinduet "Tilføj en anden..." og klikke på knappen "Bekræft". Efter et stykke tid lukkes dette vindue automatisk, og en ny e-mail vises på listen "Send e-mails som".

Nu skal du, på samme måde som beskrevet, tilføje en ny adresse til blokken "Saml post fra andre konti". For at gøre dette skal du klikke på linket "Tilføj din POP3-e-mail-konto".

Indtast din e-mailadresse i det nye vindue, der dukker op. Klik på knappen "Næste handling". I det næste vindue skal du indtaste en adgangskode og aktivere indstillingerne "Brug altid en sikker forbindelse" og "Tildel en etiket til indgående e-mails." Klik derefter på knappen "Tilføj konto". Efter et stykke tid lukkes dette vindue automatisk, og en ny e-mail vises på listen "Saml post fra andre konti".

E-mail er blevet en integreret del af brugernes liv på internettet. Der er mange ressourcer, der giver en postkasse. Ofte skal du tjekke eksistens boks, dens pålidelighed. Hvis du har brug for at finde ud af ægtheden af ​​en e-mailadresse, så er der ikke noget svært ved det.

Instruktioner

Registrer en e-mail-adresse med samme navn, hvis du er interesseret i en e-mail oprettet på en gratis ressource. En tidligere eksisterende e-mail kan ikke registreres igen. Alle kendte mailservere er forsynet med et returmeddelelsessystem. I dette tilfælde vil du modtage en fejlmeddelelse om, at yderligere registrering er umulig.

Prøv at skrive et brev fra en e-mailadresse, der er tilgængelig for dig. boks til den ønskede e-mail. Beskeden kan være med eller uden tekst. Send den og tjek din e-mail efter nogen tid for modtagne breve. Hvis du fik besked om, at dit brev ikke nåede frem til den ønskede adresse, eksisterer denne mail muligvis ikke.

Tilmeld dig i netværket "Min verden". Dette er et socialt netværk på RuNet, hvor mange brugere kommunikerer. Brug søgningen til andre brugeres konti. Indtast den ønskede e-mail i søgefeltet, som er placeret i højre hjørne øverst på siden. Du kan klikke på knappen "Personer". Du vil blive taget til en søgning efter konti baseret på forskellige kriterier. Indtast blot den e-mail, du er interesseret i, i feltet, som du finder kaldet "Søg". Du skal klikke på "Find". Hvis postadressen er korrekt, vil du se oplysninger om ejeren af ​​posten.

Hvis du har postkasser på andre e-mail-tjenester, skal du oprette en mail-samler, så alle oplysninger er samlet ét sted.

For at samleren skal fungere korrekt, skal du kun konfigurere den under din Mail.Ru-konto. Sørg for, at du er logget ind på din Mail.Ru-konto, før du begynder at indsamle e-mails fra andre e-mail-tjenester.

Sådan tilføjer du en boks:

  1. Klik på logoet for den tjeneste, hvor din boks er placeret. Hvis din tjeneste ikke er på listen, skal du klikke på "Anden mail".
  2. Indtast postkassenavnet og adgangskoden, klik på "Tilføj". Hvis du ser en fejlmeddelelse, skal du kontrollere, at de indtastede data er korrekte og prøve igen. Hvis dataene er indtastet korrekt, modtager du en bekræftelse og kan fortsætte opsætningen af ​​postsamleren.

Afhængigt af hvilken protokol der understøttes af tjenesten, som postkassen er placeret på, kan indstillingerne variere:

IMAP

  1. Angiv, hvilken mappe du vil flytte e-mails til, og klik på "Gem".
  2. Hvis du har personlige mapper i postkassen, som du vil hente post fra, bliver de indlejret i den valgte mappe.

Systemmapper synkroniseres også: "Kladder", "Sendte emner", "Spam" og "Papirkurv". Hvis du vil importere e-mails fra en tredjepartspostkasse til din indbakke, skal du angive, om du vil anvende de filtre, der er konfigureret i den aktuelle postkasse, på indgående e-mails.

Hvis indsamlingen af ​​breve er konfigureret ved hjælp af IMAP-protokollen, vil du være i stand til at besvare breve fra den postkasse, som brevet blev sendt til.

POP3

  1. Marker afkrydsningsfeltet "All mail" for at importere alle beskeder fra postkassen. Hvis du vil markere alle importerede e-mails som læst, skal du markere afkrydsningsfeltet "Marker alle gamle e-mails som læst".
  2. Vælg hvilken mappe du vil placere e-mails fra denne postkasse. Hvis du vil oprette en ny mappe, skal du markere afkrydsningsfeltet ud for rullelisten og indtaste navnet på mappen.
  3. For at anvende filtre, der er konfigureret i postkassen på beskeder fra andre servere, skal du markere afkrydsningsfeltet ud for "Anvend filtre på modtagne beskeder."
  4. Klik på "Gem".

På denne måde kan du angive op til 9 postkasser, hvorfra breve skal afhentes. For at deaktivere postopsamleren skal du sætte kontakten til OFF-positionen. Hvis du vil redigere indstillingerne, skal du klikke på "Rediger". Klik på Fjern for at fjerne vandhanen.

Denne artikel vil tale om, hvad "post fra andre postkasser" og "indsamling af breve fra andre konti" er. E-mail service anmeldelser og sammenligninger.

Efterhånden som vi opdaterer funktionaliteten af ​​e-mail-tjenester, vil vi offentliggøre nyheder i slutningen af ​​denne artikel.

Mail-tjenesten Mail.ru, søgemaskinerne Yandex og Google har tilbudt meget nyttig og nødvendig funktionalitet i flere år nu, som giver dig mulighed for at kombinere alle andre e-mail-konti i én mail. Du skal med andre ord blot tilføje og konfigurere alle dine “mails” én gang, og det vil være muligt at administrere dem i ét vindue uden konstant at indtaste dit login og password.

Mail-tjenester tilbyder os en enorm plads til opbevaring af alle indgående breve, en praktisk grænseflade, god administrationsfunktionalitet og meget mere. For at teste mulighederne for de anførte e-mail-tjenester vil vi fremhæve tre parametre for at evaluere deres ydeevne: 1) det er nødvendigt at administrere forskellige e-mail-konti, herunder fra forskellige tjenester og websteder, gennem én e-mail-klient; 2) have en personlig underskrift og navn for hver mail; 3) slette breve fra serverne på de mailkonti, der blev tilføjet til mail, yandex eller google mail.

Vores opgave ser således ud:

Så lad os komme i gang. Den første til at teste er tjenesten fra Mail.ru, som fortæller os: "Du kan samle post fra alle dine postkasser i én postkasse på Mail.ru.

Konfigurer samlingen af ​​breve fra enhver server, der kører IMAP- eller POP3-protokollen." For at tilføje ekstern mail bortset fra @mail, @inbox, @list, @bk, skal du have mindst én mail, der allerede findes på de angivne servere fra mail. Med andre ord, registrer din mail først, og tilføj derefter andre mailkonti. Processen med tilmelding til mail er enkel, det nytter ikke at beskrive det, men vi vil beskrive tilføjelse af andre e-mails til denne mailkonto.


Dernæst bliver du bedt om at indtaste login og adgangskode for enhver postkasse, du bruger, og inden for 3-5 minutter vil "Mail Collector from mail" oprette en mappe med navnet på den tilføjede post ved siden af ​​"indbakken", "sendt", "spam" og andet.


Faktisk vil brevsamleren arbejde inden for 10-15 minutter og tilføjer alle breve til den nyoprettede mappe fra den postkasse, du har angivet. Alle indkomne breve til den nye e-mail vil blive sendt til denne folder, og det vil også være muligt at sende breve fra den vedhæftede postkasse. Ved oprettelse af et nyt brev kommer feltet “Fra”, hvor du kan vælge fra hvilken postkasse brevet skal sendes.


Fordelene ved Mail.ru-mailtjenesten inkluderer den nemme tilføjelse og nem opsætning af andre postkasser og fraværet af behovet for at specificere forskellige protokoller (POP3, SMTP). Dette er meget vigtigt, fordi ikke alle brugere ved, hvad det er.

Ulemperne ved Mail.ru er, at det er umuligt at tildele et navn og signatur for hver ny tilføjet mail (enhver ny e-mail undtagen den primære), det vil sige, at navnet og signaturen på hovedmailen vil gælde for hver adresse og det er det. En anden stor ulempe er, at når du uploader breve til mail, er der ingen mulighed for automatisk at slette de originale breve fra den vedhæftede postkasseserver. Hvorfor er det så vigtigt at slette e-mails fra serveren på en tilføjet postkasse? Dette vil undgå at udfylde den vedhæftede mail, fordi... Eksterne e-mail-konti er normalt for små til at gemme e-mails. For eksempel, hvis postpladsen på din eksterne konto er fuld, vil Mail.ru ikke vise nogen nye beskeder, før du går ind i den eksterne mailgrænseflade og sletter beskeder direkte derfra for at frigøre plads. Derudover linker vi mail til Mail i håbet om at få en masse lagerplads til vores mail, hvilket kan være begrænset af hostingressourcer. På trods af det faktum, at Mail.ru tilbyder næsten ubegrænset postkassekapacitet, vil dine ressourcer til den tilføjede e-mail, når du tilføjer mail fra en anden domænezone (f.eks. ), ikke stige i Mail.ru, men vil fortsat være begrænset ved ressourcehosting (i vores tilfælde primer.ru-ressourcer).

Muligheden for at tilføje endnu en mail til Mail-tjenesten opfyldte ikke vores opgave på to punkter ud af tre, med i alt et point.


Sandt nok har Mail.ru en anden måde at tilføje ekstern mail på, eller mere præcist oprette forbindelse til eller logge på ekstern mail. Det ser sådan ud:


Denne metode er ikke egnet til vores opgave, fordi Dette er ikke en mailsamler, men en brugertilstand, der forbinder til mail og indlæser alle mapper og breve i mailgrænsefladen hver gang. Men her er det muligt at tilføje en personlig signatur og navn for hver mail, det er muligt at sende breve fra den konfigurerede mail. Sletning af e-mails fra indlæste postkasser virker ikke, fordi... Dette er ikke en postsamler.

Vigtig! Nogle brugere tror fejlagtigt, at hvis breve vises i posten, så kan den mail, hvorfra overførslen skete, slettes. Lad os endnu en gang bemærke, at Mail.ru fungerer som e-mail-fremviser, og hvis du rydder din e-mail, vil den blive slettet både i hovedpostkassen og i e-mail.

Den anden testperson er Yandex med sin brevsamler. Opgaverne ligner hinanden: Saml post, tildel en signatur og navn til hver mail, og slet også al post fra den tilføjede postkasse.

Yandex-mailsamleren er konfigureret i henhold til et lignende skema, men hvis mail er forbundet fra et websted, for eksempel site.ru, skal yderligere indstillinger angives, se skærmbillede.


Mail-tjenesten gjorde dette arbejde for os, men Yandex tilbyder manuelt at indstille alle indstillinger fra tredjeparts mail. Der er ikke noget kompliceret her: i login-feltet indtaster vi det fulde navn på mailen (), i serverfeltet indtaster vi kun domænet (site.ru), det er bedre at lade alle andre indstillinger være standard eller ændre dem hvis du ved hvad du laver. Efter succesfuld tilføjelse af e-mail, vises følgende meddelelse:


I modsætning til Mail collector tilbyder Yandex dig at vælge, om du vil gemme de originale breve i den tilføjede postkasse eller ej. I alle andre henseender fungerer brevsamleren fra Yandex på samme måde som Mail.ru, du kan vælge den postkasse, som du vil sende brevet fra. Men Yandex har det samme problem med at underskrive breve: det er ikke muligt at angive et individuelt navn og signatur for hver tilføjet postkasse.


At dømme efter navigationen er det muligt at tilføje en individuel signatur for hver postkasse, men i virkeligheden virker det ikke. Vælg din e-mail, indtast dit navn og din signatur, og klik på Gem. Det er det, signaturen gemmes og virker, men den gemmes også for alle andre postkasser, det vil sige, ved at tildele et navn og signatur til én postkasse, ændrer du automatisk disse parametre i al post kombineret i Yandex. Selvom du vælger en anden boks, vil signaturen nu være den samme overalt.

I alt har Yandex med succes klaret indsamlingen og sorteringen af ​​post, det kan slette originale breve fra den tilføjede postkasse, men det kan ikke fungere med signaturer! Yandex-e-mail-samleren klarede ikke vores opgave og scorer to point ud af tre.


Jeg vil gerne bemærke, at efter at have dykket ned i alle tre tjenester til samling af breve, ser det ud til, at Mail har forbedret dens funktionalitet. Selvom det vil tilfredsstille de fleste brugere, for at være ærlig, lavede Mail en mailsamler til show, for at vise sig frem i konkurrenceløbet. Alt fungerer fint og uden fejl, men samleren fra Mail kunne ikke klare vores opgave. Mail-grænsefladen har flere reklameblokke, men de forstyrrer ikke arbejdet med breve.

Hvad angår Yandex, som oprettede en postsamler for længe siden, ser det ud til, at de ikke understøtter denne særlige industri, fordi det ikke burde være svært for en så kraftfuld søgning at rette sådan en simpel funktionalitet (evnen til at tilføje flere signaturer til postkasser) motor. Yandex har dog tilføjet endnu en unik funktionalitet, der giver dig mulighed for at linke domæner til deres DNS-servere og efterfølgende oprette og konfigurere mail. Men sådanne operationer og indstillinger kræver viden og tid. Og selvom der ikke er noget kompliceret der, er det i hvert fald ikke for de fleste RuNet-brugere. Stort plus- ingen annoncering i Yandex mail-grænseflade! Minus- begrænsning i brevsamleren til 10 postkasser.

Finalisten og vinderen er en brevsamler fra Google, som trods alt klarede vores opgave med et brag 5 boks grænse

Forleden udkom den næste version af Mail.Ru Mail til iPhone og iPad. Hovedopdateringen er én, men væsentlig: det er evnen til at samle alle brugerens postkasser på ét sted, nemlig i Mail.Ru Mail-applikationen.

Al post samlet ét sted. De fleste af os har flere e-mails - til arbejde, til registrering på forskellige fora, kuponsider og onlinebutikker og for sjælen (læs - til at kommunikere med venner, slægtninge osv.). I den tidligere version af Mail.Ru-applikationen tog udviklerne det første skridt i retning af at strømline administrationen af ​​"zoo" af konti: de tilføjede understøttelse af flere postkasser.

Nu, i Mail.Ru Mail-klienten, kan du ikke kun arbejde med postkasser på denne tjeneste, men også med konti tilhørende Gmail, Rambler, Outlook og andre udbydere, der understøtter IMAP/POP3. Det er meget enkelt at skifte mellem kasser - det er et spørgsmål om et enkelt klik. Mens en bruger ser en konto, venter andre tålmodigt på deres tur.

Applikationen omarrangerer ikke rækkefølgen i forskellige kasser på sin egen måde. I hvert af regnskaberne kan du fortsætte med at følge præcis den arbejdslogik, som du har vænnet dig til. For eksempel, i grænsefladen til Mail.Ru-applikationen, vil navnene og strukturen af ​​mapper, afkrydsningsfelter og andre postkasseindstillinger på Gmail forblive de samme som i den store version af Gmail. Derudover kan du i applikationen individuelt konfigurere hver af konti: indstil en signatur, aktiver eller deaktiver visning af ikoner, konfigurer driften af ​​push-meddelelsessystemet.


Push-meddelelser. Avancerede push-meddelelser fortjener særlig omtale. For det første (og dette er en af ​​applikationens vigtigste bonusser), kan de aktiveres selv for konti på de tjenester, der ikke kan sende push.

For det andet kan de konfigureres præcis, som du ønsker, og specificere i detaljer, hvornår de skal ankomme, og hvad der skal rapporteres. Det er muligt at navngive de modtagere, hvis beskeder du er villig til at læse dag og nat (for eksempel breve fra din mor), eller strengt taget fra 9 til 19:00 (mest sandsynligt vil disse være breve fra kunder eller kolleger) . Du kan slå advarsler til eller fra for bestemte konti, mapper eller modtagere.

Udviklerne leverede omhyggeligt en knap, der giver dig mulighed for straks at deaktivere meddelelser om forsendelser fra sociale netværk eller kupontjenester. Du kan også indstille indholdet af push-meddelelser: du vil måske skjule modtagerens navn eller emnelinje af hensyn til privatlivets fred.

Hurtige handlinger. For praktisk arbejde med bogstaver har applikationen en hurtig handlingsmenu. For at kalde disse magiske knapper frem skal du blot stryge fra højre mod venstre på den ønskede besked på listen over bogstaver. Med deres hjælp kan du slette et brev, markere et felt, flytte det til en anden mappe, sende det til spam osv. Alle handlinger udføres med et enkelt klik.

Avatarer af modtagere og tjenester hjælper dig med at navigere i din mail. De er synlige på listen over breve, når du læser og skriver breve, og som allerede nævnt i push-meddelelser. Når brugeren læser og skriver et brev, ser brugeren en avatar af afsenderen eller modtageren samt en forhåndsvisning af vedhæftede filer. Hvis der er vedhæftet fotografier eller tegninger, vises thumbnails af billederne. Du kan i øvrigt se bilag uden at forlade kasseapparatet, dvs. lige i appen.

Caching. Caching vil være meget nyttigt på steder, hvor internettet ikke er særlig godt, for eksempel i metroen. Ejeren af ​​en smartphone med Mail.Ru-e-mail-klienten vil være i stand til at læse tekster og se billeder, selv i fravær af et netværk.

Hints. Applikationen beder dig om den nødvendige e-mail, du skal indtaste de første bogstaver i adresselinjen (forudsat at du har skrevet til denne modtager mindst én gang - det er ligegyldigt, om det er i hovedversionen af ​​Mail eller i applikationen). Derudover vil klienten på din anmodning tilføje telefonkontakter til listen over respondenter.

Lad os være objektive - Mail.Ru e-mail-applikationen er lavet til at holde. Og hvis du tidligere brugte sofistikerede skub, nød avatarer på listen over bogstaver osv. var kun muligt, hvis du havde en postkasse på Mail.Ru, nu vil brugere af den samme Mail.Ru være i stand til at indsamle andre postkasser i applikationen (og dem, der foretrækker andre tjenester, kan i det mindste teste klienten).

  • Yderligere indstillinger for bekvemmelighed og behageligt arbejde
  • Oprettelse af regler (filtre) - automatisk distribution af breve i mapper og beskyttelse mod spam
  • Funktionen forbinder andre postkasser med post fra Yandex. Med andre postkasser mener vi, at dette er post fra en anden tjeneste (f.eks. [email protected] eller Mail fra Google), eller det er breve fra Yandex.Mail-postkassen, men denne postkasse har en anden adresse.

    Når du tilslutter en anden postkasse, vil alle breve fra yderligere post blive tilføjet til post fra Yandex. Det vil sige, at du får et stort antal bogstaver i én kasse. Du kan også svare på breve fra en anden e-mail i Yandex, men modtageren vil se en anden adresse end Yandex.Mail.

    Det er meget enkelt at forbinde behandlingen af ​​breve fra en anden postkasse (for eksempel fra [email protected]), men for at gøre dette skal du kende login og adgangskode for at komme ind i denne postkasse. Så overgangen til at forbinde behandlingen af ​​breve fra andre postkasser er til venstre under den funktionelle menu og mærket "Tilføj din postkasse."

    Kun login (med en udvidelse, for eksempel udvidelsen - "@mail.ru") og adgangskoden indtastes. Ikonerne øverst på siden viser, hvilke e-mail-tjenester du kan oprette forbindelse til (ingen grund til at klikke på dem).

    Hvis det lykkes, vises en meddelelse om, at brevene vil blive tilføjet inden for 10 minutter, og under mappevalgsmenuen vises et mærke om den tilføjede postkasse.

    Beskeder vil blive tilføjet, som ikke læses, så jeg råder dig til at tømme Spam-mappen i den ekstra postkasse, før du tilføjer. I mit tilfælde blev der tilføjet 130 breve, ikke medregnet de 70, der blev sendt til spam.

    Du kan vælge de breve, der kom fra en ekstra e-mail, ved at bruge knappen med den ekstra e-mailadresse (under mappevalgsmenuen). Vi klikker på adressen og kun "yderligere" bogstaver vises."

    Lad os se på, hvordan man reagerer, så en ekstra boks vises (ikke Yandex eller Yandex, men med et andet navn).

    Jeg vælger et af brevene fra yderligere post, de er alle markeret som ulæst.

    Det er i bund og grund hele vanskeligheden. Over brevets tekst er det angivet, hvilken postkasse der skal sendes fra, og som standard er dette en ekstra postkasse.

    For at ændre afsenderens adresse (hvis du ønsker, at brevet ikke skal komme fra en ekstra postkasse, men fra Yandex-mail), skal du klikke på afsenderens adresse (din adresse) og derefter vælge blandt de tilbudte.

    For at ændre indstillinger, deaktivere postindsamling eller slette en ekstra postkasse, skal du klikke på ordet "Tilpas" under mappevalgsmenuen.

    For at arbejde korrekt og yderst effektivt på forskellige tavler, skal du have en hel pakke af postkasser til dette skal du oprette 10-20 postkasser til dig selv. På grund af nogle problemer er det bedre ikke at gøre dem på Mail.ru, Gmail.ru, Gmail.com. Disse problemer ligger i, at de ovennævnte mailtjenester nu i nogen tid er begyndt at intensivt bekæmpe spam. Og de ligestillede bare Oriflame (breve relateret til det) med spam.


    Derfor risikerer du en dag at holde op med at modtage breve fra ansøgere, eller pludselig får du problemer med at sende breve, eller et uventet harmløst brev, du har sendt fra nogen til nogen, ikke kommer frem. Selvom mange konsulenter arbejder med disse e-mail-tjenester og ikke observerer nogen særlige problemer, er det bedre ikke at risikere det.


    Det er mere bekvemt at arbejde med postkasser gennem et mailprogram, for eksempel The Bat eller Mozilla Thunderbird (en applikation til Mozilla-browseren), eller gennem andre lignende, for ikke at arbejde gennem browseren, da det ikke bliver muligt at åbne et dusin postkasser i browseren på samme tid. Og ethvert e-mail-program giver dig mulighed for nemt at arbejde med breve fra alle postkasser.

    Bemærk venligst, at de navne, du har oprettet for at arbejde på tavlerne i dine postkasser, IKKE bør være ens navne, især hvis du tilmelder dig på én gang - uden at forlade din stol. Ellers vil opslagstavlens administratorer blot identificere dig og slette dig, når du har registreret alle dine konti. Da du på ethvert seriøst board kun kan have én konto pr. person.


    Eller du kan gøre det endnu enklere og arbejde med kun én postkasse, som selv samler breve fra alle dine postadresser. Yandex mail vil håndtere dette perfekt. Opsætningen er enkel og tager ikke meget tid.

    Opsætning af Yandex-mail til at indsamle breve fra forskellige postkasser

    Til at begynde med logger du ind via din browser på din forudforberedte Yandex-mail for at indsamle breve fra alle postkasser. Find derefter symbolet på det første billede øverst til højre og klik på det.

    Efter dette vil du se et drop-down felt angivet på den anden skærm. Du skal klikke på linket "AFSAMLING AF MAIL FRA ANDRE BOKSE".


    Derefter vil du blive ført til siden for opsætning af postkasser, hvorfra din Yandex-mail vil indsamle breve fra alle dine e-mails. Alt andet er intuitivt. Der er dog én begrænsning - én Yandex-mail kan samle alle beskeder fra maks. 10 forskellige postkasser, men det er slet ikke et problem, for eksempel kan du lave 2 eller 3 postkasser på Yandex til at indsamle post.


    Det næste trin er at aktivere indstillingerne for adgang til disse postkasser via IMAP- og POP3-protokollerne i indstillingerne for indsamlingskasser på Yandex. De to skærmbilleder nedenfor viser, hvordan du kommer til disse indstillinger.



    På alle postkasser, hvorfra din Yandex-mail vil indsamle alle breve, skal du også gøre det samme ved at give adgang til disse postkasser via IMAP- og POP3-protokollerne. Der foretages indstillingerne på samme måde. Sandt nok, når du samler breve ved hjælp af denne metode gennem Yandex-samleren, er der et lille, ikke altid praktisk øjeblik - indsamlingen af ​​breve sker ikke øjeblikkeligt, det udføres kun flere gange i løbet af dagen. Men jeg tror, ​​det ikke er så kritisk.


    For øjeblikkeligt at modtage post til én postsamler på Yandex, skal du ikke konfigurere indsamlingen af ​​breve, men videresendelse (videresendelse). Dette er heller ikke svært at gøre. Du kan se mailindstillingerne for omdirigering på denne side Yandex tip.