Code:
/ DotNET / DotNET / 8.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
- UidManager.cs
- mediapermission.cs
- CopyAction.cs
- DesignerDeviceConfig.cs
- Membership.cs
- ComplexBindingPropertiesAttribute.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- DummyDataSource.cs
- COM2ExtendedBrowsingHandler.cs
- DocumentReference.cs
- EventWaitHandleSecurity.cs
- ToolstripProfessionalRenderer.cs
- codemethodreferenceexpression.cs
- FlowLayoutSettings.cs
- RunInstallerAttribute.cs
- ProfileParameter.cs
- RotateTransform.cs
- WindowsGraphicsCacheManager.cs
- OdbcError.cs
- OperationPerformanceCounters.cs
- OracleTransaction.cs
- SecurityContext.cs
- SqlFactory.cs
- DivideByZeroException.cs
- ColorConverter.cs
- SelectionRange.cs
- ModelProperty.cs
- QueueNameHelper.cs
- CodeArrayIndexerExpression.cs
- BatchServiceHost.cs
- FigureParaClient.cs
- PaginationProgressEventArgs.cs
- DesignerHierarchicalDataSourceView.cs
- AffineTransform3D.cs
- FilterableAttribute.cs
- ObsoleteAttribute.cs
- SmtpLoginAuthenticationModule.cs
- safelink.cs
- PointConverter.cs
- DoubleStorage.cs
- DataSet.cs
- WebPartConnectionsCloseVerb.cs
- ClientOptions.cs
- filewebrequest.cs
- CommandBinding.cs
- FontStyles.cs
- PrintPreviewControl.cs
- ButtonColumn.cs
- CodeDOMUtility.cs
- Padding.cs
- HandlerBase.cs
- QilTernary.cs
- ConfigurationElement.cs
- RuntimeResourceSet.cs
- SelectionProviderWrapper.cs
- ServiceObjectContainer.cs
- MediaContext.cs
- GuidConverter.cs
- WorkflowOperationBehavior.cs
- ConvertEvent.cs
- XmlComplianceUtil.cs
- WindowsPrincipal.cs
- RelationshipConverter.cs
- ProcessHostMapPath.cs
- SaveLedgerEntryRequest.cs
- GeneralTransform.cs
- ServiceEndpointCollection.cs
- Rect3DValueSerializer.cs
- CopyAttributesAction.cs
- ScriptControl.cs
- MsmqIntegrationProcessProtocolHandler.cs
- ListViewTableCell.cs
- SpinWait.cs
- OutgoingWebRequestContext.cs
- PipelineModuleStepContainer.cs
- UnsafeCollabNativeMethods.cs
- UInt64Converter.cs
- Fonts.cs
- TextEffectCollection.cs
- SetterTriggerConditionValueConverter.cs
- NativeMethods.cs
- UTF7Encoding.cs
- DateTimeValueSerializerContext.cs
- HtmlTextArea.cs
- Rotation3DKeyFrameCollection.cs
- RootBuilder.cs
- EntityRecordInfo.cs
- HtmlShim.cs
- Registry.cs
- TableDetailsRow.cs
- EdmToObjectNamespaceMap.cs
- FlowchartDesigner.Helpers.cs
- DescriptionAttribute.cs
- RoleBoolean.cs
- TreeView.cs
- ClientRolePrincipal.cs
- RtType.cs
- COSERVERINFO.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- IPEndPointCollection.cs