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
- FacetValueContainer.cs
- KeyGestureValueSerializer.cs
- AttributeEmitter.cs
- SettingsPropertyWrongTypeException.cs
- BaseResourcesBuildProvider.cs
- DataPagerField.cs
- DBSchemaRow.cs
- Error.cs
- ClonableStack.cs
- SessionStateContainer.cs
- Vector3DAnimationUsingKeyFrames.cs
- LineVisual.cs
- LinqDataSourceSelectEventArgs.cs
- MenuItemBinding.cs
- TextParagraphProperties.cs
- CompiledRegexRunner.cs
- XmlTypeAttribute.cs
- ScalarConstant.cs
- XmlSubtreeReader.cs
- InplaceBitmapMetadataWriter.cs
- DataConnectionHelper.cs
- FixedSOMGroup.cs
- QilFactory.cs
- PngBitmapEncoder.cs
- FixedBufferAttribute.cs
- ToolboxItem.cs
- EntryWrittenEventArgs.cs
- VSWCFServiceContractGenerator.cs
- MetadataItemSerializer.cs
- AssemblyBuilderData.cs
- ThemeInfoAttribute.cs
- Stream.cs
- ClrPerspective.cs
- CriticalFinalizerObject.cs
- TransactionsSectionGroup.cs
- ADMembershipUser.cs
- Timer.cs
- StringUtil.cs
- GridItemCollection.cs
- RemoteWebConfigurationHost.cs
- DynamicRendererThreadManager.cs
- UriSection.cs
- ToolboxComponentsCreatingEventArgs.cs
- assemblycache.cs
- RuleValidation.cs
- CmsInterop.cs
- RbTree.cs
- SingleSelectRootGridEntry.cs
- VisualTreeUtils.cs
- EventDescriptor.cs
- GraphicsPath.cs
- RelationHandler.cs
- SchemaHelper.cs
- FontEditor.cs
- ComponentConverter.cs
- CellLabel.cs
- SmtpCommands.cs
- SamlEvidence.cs
- EnumUnknown.cs
- Point3D.cs
- GorillaCodec.cs
- CloudCollection.cs
- XmlIgnoreAttribute.cs
- ListItem.cs
- ToolStripItem.cs
- HandlerFactoryWrapper.cs
- GeneralTransform3D.cs
- ReferenceConverter.cs
- EditorOptionAttribute.cs
- WorkflowApplicationAbortedEventArgs.cs
- EventManager.cs
- ProfessionalColorTable.cs
- CommonDialog.cs
- FixedTextBuilder.cs
- ScrollPattern.cs
- ConfigXmlAttribute.cs
- DataGridViewCellCancelEventArgs.cs
- DeclarativeCatalogPart.cs
- ImageListStreamer.cs
- WorkItem.cs
- XsltContext.cs
- PreviewPrintController.cs
- FlowDocumentView.cs
- HttpHeaderCollection.cs
- XsdBuilder.cs
- PageRequestManager.cs
- XmlHierarchicalEnumerable.cs
- UIElement3DAutomationPeer.cs
- ProjectionCamera.cs
- EventLogTraceListener.cs
- XmlNamespaceDeclarationsAttribute.cs
- ClientTargetCollection.cs
- NameValueFileSectionHandler.cs
- SqlLiftIndependentRowExpressions.cs
- DataRow.cs
- ViewStateModeByIdAttribute.cs
- FacetDescriptionElement.cs
- HandlerFactoryWrapper.cs
- EventEntry.cs
- RegexTypeEditor.cs