Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / Mail / SmtpException.cs / 1 / SmtpException.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; using System.Runtime.Serialization; using System.Security.Permissions; [Serializable] public class SmtpException : Exception, ISerializable { SmtpStatusCode statusCode = SmtpStatusCode.GeneralFailure; static string GetMessageForStatus(SmtpStatusCode statusCode, string serverResponse) { return GetMessageForStatus(statusCode)+" "+SR.GetString(SR.MailServerResponse,serverResponse); } static string GetMessageForStatus(SmtpStatusCode statusCode) { switch (statusCode) { default : case SmtpStatusCode.CommandUnrecognized: return SR.GetString(SR.SmtpCommandUnrecognized); case SmtpStatusCode.SyntaxError: return SR.GetString(SR.SmtpSyntaxError); case SmtpStatusCode.CommandNotImplemented: return SR.GetString(SR.SmtpCommandNotImplemented); case SmtpStatusCode.BadCommandSequence: return SR.GetString(SR.SmtpBadCommandSequence); case SmtpStatusCode.CommandParameterNotImplemented: return SR.GetString(SR.SmtpCommandParameterNotImplemented); case SmtpStatusCode.SystemStatus: return SR.GetString(SR.SmtpSystemStatus); case SmtpStatusCode.HelpMessage: return SR.GetString(SR.SmtpHelpMessage); case SmtpStatusCode.ServiceReady: return SR.GetString(SR.SmtpServiceReady); case SmtpStatusCode.ServiceClosingTransmissionChannel: return SR.GetString(SR.SmtpServiceClosingTransmissionChannel); case SmtpStatusCode.ServiceNotAvailable: return SR.GetString(SR.SmtpServiceNotAvailable); case SmtpStatusCode.Ok: return SR.GetString(SR.SmtpOK); case SmtpStatusCode.UserNotLocalWillForward: return SR.GetString(SR.SmtpUserNotLocalWillForward); case SmtpStatusCode.MailboxBusy: return SR.GetString(SR.SmtpMailboxBusy); case SmtpStatusCode.MailboxUnavailable: return SR.GetString(SR.SmtpMailboxUnavailable); case SmtpStatusCode.LocalErrorInProcessing: return SR.GetString(SR.SmtpLocalErrorInProcessing); case SmtpStatusCode.UserNotLocalTryAlternatePath: return SR.GetString(SR.SmtpUserNotLocalTryAlternatePath); case SmtpStatusCode.InsufficientStorage: return SR.GetString(SR.SmtpInsufficientStorage); case SmtpStatusCode.ExceededStorageAllocation: return SR.GetString(SR.SmtpExceededStorageAllocation); case SmtpStatusCode.MailboxNameNotAllowed: return SR.GetString(SR.SmtpMailboxNameNotAllowed); case SmtpStatusCode.StartMailInput: return SR.GetString(SR.SmtpStartMailInput); case SmtpStatusCode.TransactionFailed: return SR.GetString(SR.SmtpTransactionFailed); case SmtpStatusCode.ClientNotPermitted: return SR.GetString(SR.SmtpClientNotPermitted); case SmtpStatusCode.MustIssueStartTlsFirst: return SR.GetString(SR.SmtpMustIssueStartTlsFirst); } } public SmtpException(SmtpStatusCode statusCode) : base(GetMessageForStatus(statusCode)) { this.statusCode = statusCode; } public SmtpException(SmtpStatusCode statusCode, string message) : base(message) { this.statusCode = statusCode; } public SmtpException() : this(SmtpStatusCode.GeneralFailure) { } public SmtpException(string message) : base(message) { } public SmtpException(string message, Exception innerException) : base(message, innerException) { } protected SmtpException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base (serializationInfo, streamingContext) { statusCode = (SmtpStatusCode)serializationInfo.GetInt32("Status"); } internal SmtpException(SmtpStatusCode statusCode, string serverMessage, bool serverResponse) : base(GetMessageForStatus(statusCode,serverMessage)) { this.statusCode = statusCode; } internal SmtpException(string message, string serverResponse) : base(message+" "+SR.GetString(SR.MailServerResponse,serverResponse)) { } ///[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) { GetObjectData(serializationInfo, streamingContext); } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext){ base.GetObjectData(serializationInfo, streamingContext); serializationInfo.AddValue("Status", (int)statusCode, typeof(int)); } public SmtpStatusCode StatusCode { get { return this.statusCode; } set { statusCode = value; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CounterSampleCalculator.cs
- PlanCompiler.cs
- ISAPIRuntime.cs
- CompositeCollection.cs
- PagesSection.cs
- ConfigurationStrings.cs
- XmlNodeChangedEventArgs.cs
- DataGridColumn.cs
- GridViewUpdateEventArgs.cs
- mediapermission.cs
- PatternMatcher.cs
- XmlJsonWriter.cs
- __ComObject.cs
- ActivityBuilderHelper.cs
- SQlBooleanStorage.cs
- ToolStripItemBehavior.cs
- PersonalizationStateInfo.cs
- Debugger.cs
- ObjectSecurity.cs
- ButtonBase.cs
- WizardStepBase.cs
- TextEditorThreadLocalStore.cs
- PopupRootAutomationPeer.cs
- HttpDebugHandler.cs
- NativeMethods.cs
- SmiConnection.cs
- Vector3DIndependentAnimationStorage.cs
- PasswordBoxAutomationPeer.cs
- TextDocumentView.cs
- SByte.cs
- ApplicationException.cs
- HostedHttpTransportManager.cs
- MarkupCompilePass1.cs
- DataTableReaderListener.cs
- WebPartDisplayMode.cs
- Baml2006Reader.cs
- SecureStringHasher.cs
- WebPartsSection.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- AuthorizationRuleCollection.cs
- SafeHandles.cs
- XmlWellformedWriter.cs
- EncryptRequest.cs
- OneOf.cs
- ToolBar.cs
- Cursor.cs
- ValidationSummary.cs
- SrgsRule.cs
- ListViewGroupConverter.cs
- AnnotationAuthorChangedEventArgs.cs
- Debugger.cs
- MenuScrollingVisibilityConverter.cs
- ImplicitInputBrush.cs
- Font.cs
- IEnumerable.cs
- TreeViewHitTestInfo.cs
- CategoryValueConverter.cs
- LiteralDesigner.cs
- AbandonedMutexException.cs
- WasNotInstalledException.cs
- GlyphRun.cs
- FlowLayoutPanel.cs
- SystemTcpConnection.cs
- CodeTypeDelegate.cs
- HwndSourceParameters.cs
- ProxyWebPart.cs
- IndentTextWriter.cs
- GridSplitterAutomationPeer.cs
- UnsafeNativeMethodsTablet.cs
- ActivityUtilities.cs
- ToolboxDataAttribute.cs
- RtfToken.cs
- SqlServer2KCompatibilityAnnotation.cs
- ProfileGroupSettings.cs
- CatalogPart.cs
- MissingFieldException.cs
- DataGridRow.cs
- ListBoxItemAutomationPeer.cs
- SymbolType.cs
- AppearanceEditorPart.cs
- DbProviderFactories.cs
- Path.cs
- StreamReader.cs
- EventLogEntry.cs
- ColumnTypeConverter.cs
- EventEntry.cs
- ObjectDataSourceMethodEventArgs.cs
- ConfigurationManager.cs
- HMACMD5.cs
- HttpProfileBase.cs
- RootDesignerSerializerAttribute.cs
- ContentTextAutomationPeer.cs
- AdapterUtil.cs
- PathGradientBrush.cs
- OpenTypeLayout.cs
- ApplySecurityAndSendAsyncResult.cs
- DataGridHeaderBorder.cs
- DataGridViewCheckBoxCell.cs
- FileRecordSequenceHelper.cs
- SHA512Managed.cs